转:JSON与JAVA数据的转换JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bea n和DynaBean。
下载地址:/还要需要的第3方包:mons(3.2以上版本)org.apache.oronet.sf.ezmorph(ezmorph-1.0.4.jar)nu.xom1、ListJava代码1.boolean[] boolArray = newboolean[]{true,false,true};2.JSONArray jsonArray1 = JSONArray.fromObject( boolArray );3.System.out.println( jsonArray1 );4.// prints [true,false,true]5.6.List list = new ArrayList();7.list.add( "first");8.list.add( "second");9.JSONArray jsonArray2 = JSONArray.fromObject( list );10.System.out.println( jsonArray2 );11.// prints ["first","second"]12.13.JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']");14.System.out.println( jsonArray3 );15.// prints ["json","is","easy"]2、MapJava代码1.Map map = new HashMap();2.map.put( "name", "json");3.map.put( "bool", Boolean.TRUE );4.5.map.put( "int", new Integer(1) );6.map.put( "arr", new String[]{"a","b"} );7.map.put( "func", "function(i){ return this.arr[i]; }");8.JSONObjectjson = JSONObject.fromObject( map );9.System.out.println( json );10.//{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true}3、BEANJava代码1./**2.* Bean.java3.private String name = "json";4.private intpojoId = 1;5.private char[] options = new char[]{'a','f'};6.private String func1 = "function(i){ return this.options[i]; }";7.private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");8.*/9.JSONObjectjsonObject = JSONObject.fromObject( new JsonBean() );10.System.out.println( jsonObject );11.//{"func1":function(i){ return this.options[i]; },"pojoId":1,"name":"json","options":["a","f"],"func2":function(i){ return this.options[i]; }}4、BEANSJava代码1./**2.* private int row ;3.private int col ;4.private String value ;5.*6.*/7.List list = new ArrayList();8.JsonBean2 jb1 = new JsonBean2();9.jb1.setCol(1);10.jb1.setRow(1);11.jb1.setValue("xx");12.13.JsonBean2 jb2 = new JsonBean2();14.jb2.setCol(2);15.jb2.setRow(2);16.jb2.setValue("");17.18.19.list.add(jb1);20.list.add(jb2);21.22.JSONArrayja = JSONArray.fromObject(list);23.System.out.println( ja.toString() );24.//[{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]5、String to beanJava代码1.String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";2.JSONObjectjsonObject = JSONObject.fromString(json);3.Object bean = JSONObject.toBean( jsonObject );4.assertEquals( jsonObject.get( "name"), PropertyUtils.getProperty( bean,"name") );5.assertEquals( jsonObject.get( "bool"), PropertyUtils.getProperty( bean, "bool") );6.assertEquals( jsonObject.get( "int"), PropertyUtils.getProperty( bean, "int") );7.assertEquals( jsonObject.get( "double"), PropertyUtils.getProperty( bean,"double") );8.assertEquals( jsonObject.get( "func"), PropertyUtils.getProperty( bean, "func") );9.List expected = JSONArray.toList( jsonObject.getJSONArray( "array") );10.assertEquals( expected, (List) PropertyUtils.getProperty( bean, "array"));Java代码1.String json = "{\"value\":\"xx\",\"row\":1,\"col\":1}";2.JSONObjectjsonObject = JSONObject.fromString(json);3.JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class);4.assertEquals( jsonObject.get( "col"),new Integer( bean.getCol()) );5.assertEquals( jsonObject.get( "row"), new Integer( bean.getRow() ) );6.assertEquals( jsonObject.get( "value"), bean.getValue() );6 json to xml1)JSONObjectjson = new JSONObject( true );String xml = XMLSerializer.write( json );<o class="object" null="true">2)JSONObjectjson = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"in t\":1}");String xml = XMLSerializer.write( json );<o class="object"><name type="string">json</name><bool type="boolean">true</bool><int type="number">1</int></o><o class="object"><name type="string">json</name><bool type="boolean">true</bool><int type="number">1</int></o>3)JSONArrayjson = JSONArray.fromObject("[1,2,3]"); String xml = XMLSerializer.write( json );<a class="array"><e type="number">1</e><e type="number">2</e><e type="number">3</e></a>7 、xml to json<a class="array"><e type="function" params="i,j">return matrix[i][j];</e></a><a class="array"><e type="function" params="i,j">return matrix[i][j];</e></a>JSONArrayjson = (JSONArray) XMLSerializer.read( xml ); System.out.println( json );// prints [function(i,j){ return matrix[i][j]; }]。