java对象与json对象的转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转:JSON与JAVA数据的转换
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bea n和DynaBean。
下载地址:/
还要需要的第3方包:
mons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom
1、List
Java代码
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、Map
Java代码
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、BEAN
Java代码
1./**
2.* Bean.java
3.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"},"retu
rn 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、BEANS
Java代码
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 bean
Java代码
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, "i
nt") );
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") );