加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSONOBJECT JSON与JAVA数据的转换

发布时间:2020-12-16 19:23:24 所属栏目:百科 来源:网络整理
导读:JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。 下载地址: http://json-lib.sourceforge.net/ 还要需要的第3方包: org.apache.commons(3.2以上版本) org.apache.oro net.sf.ezmorph(ezmorph-1.0.4.jar) nu.xom 1、Lis
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。

下载地址: http://json-lib.sourceforge.net/
还要需要的第3方包:
org.apache.commons(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. JSONArrayjsonArray1=JSONArray.fromObject(boolArray);
  3. System.out.println(jsonArray1);
  4. //prints[true,false,true]
  5. Listlist=newArrayList();
  6. list.add("first");
  7. list.add("second");
  8. JSONArrayjsonArray2=JSONArray.fromObject(list);
  9. System.out.println(jsonArray2);
  10. //prints["first","second"]
  11. JSONArrayjsonArray3=JSONArray.fromObject("['json','is','easy']");
  12. System.out.println(jsonArray3);
  13. //prints["json","is","easy"]
Java代码
  1. boolean[]boolArray=newboolean[]{true,"easy"]

2、Map
Java代码
  1. Mapmap=newHashMap();
  2. map.put("name","json");
  3. map.put("bool",Boolean.TRUE);
  4. map.put("int",newInteger(1));
  5. map.put("arr",newString[]{"a","b"});
  6. map.put("func","function(i){returnthis.arr[i];}");
  7. JSONObjectjson=JSONObject.fromObject(map);
  8. System.out.println(json);
  9. //{"func":function(i){returnthis.arr[i];},"arr":["a","b"],"int":1,"name":"json","bool":true}
Java代码
  1. Mapmap=newHashMap();
  2. map.put("name","bool":true}

3、BEAN
Java代码
  1. /**
  2. *Bean.java
  3. privateStringname="json";
  4. privateintpojoId=1;
  5. privatechar[]options=newchar[]{'a','f'};
  6. privateStringfunc1="function(i){returnthis.options[i];}";
  7. privateJSONFunctionfunc2=newJSONFunction(newString[]{"i"},"returnthis.options[i];");
  8. */
  9. JSONObjectjsonObject=JSONObject.fromObject(newJsonBean());
  10. System.out.println(jsonObject);
  11. //{"func1":function(i){returnthis.options[i];},"pojoId":1,"options":["a","f"],"func2":function(i){returnthis.options[i];}}
Java代码
  1. /**
  2. *Bean.java
  3. privateStringname="json";
  4. privateintpojoId=1;
  5. privatechar[]options=newchar[]{'a',"func2":function(i){returnthis.options[i];}}

4、BEANS
Java代码
  1. /**
  2. *privateintrow;
  3. privateintcol;
  4. privateStringvalue;
  5. *
  6. */
  7. Listlist=newArrayList();
  8. JsonBean2jb1=newJsonBean2();
  9. jb1.setCol(1);
  10. jb1.setRow(1);
  11. jb1.setValue("xx");
  12. JsonBean2jb2=newJsonBean2();
  13. jb2.setCol(2);
  14. jb2.setRow(2);
  15. jb2.setValue("");
  16. list.add(jb1);
  17. list.add(jb2);
  18. JSONArrayja=JSONArray.fromObject(list);
  19. System.out.println(ja.toString());
  20. //[{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]
Java代码
  1. /**
  2. *privateintrow;
  3. privateintcol;
  4. privateStringvalue;
  5. *
  6. */
  7. Listlist=newArrayList();
  8. JsonBean2jb1=newJsonBean2();
  9. jb1.setCol(1);
  10. jb1.setRow(1);
  11. jb1.setValue("xx");
  12. JsonBean2jb2=newJsonBean2();
  13. jb2.setCol(2);
  14. jb2.setRow(2);
  15. jb2.setValue("");
  16. list.add(jb1);
  17. list.add(jb2);
  18. JSONArrayja=JSONArray.fromObject(list);
  19. System.out.println(ja.toString());
  20. //[{"value":"xx","col":2}]

5、String to bean
Java代码
  1. Stringjson="{name="json",bool:true,int:1,double:2.2,func:function(a){returna;},array:[1,2]}";
  2. JSONObjectjsonObject=JSONObject.fromString(json);
  3. Objectbean=JSONObject.toBean(jsonObject);
  4. assertEquals(jsonObject.get("name"),PropertyUtils.getProperty(bean,"name"));
  5. assertEquals(jsonObject.get("bool"),"bool"));
  6. assertEquals(jsonObject.get("int"),"int"));
  7. assertEquals(jsonObject.get("double"),"double"));
  8. assertEquals(jsonObject.get("func"),"func"));
  9. Listexpected=JSONArray.toList(jsonObject.getJSONArray("array"));
  10. assertEquals(expected,(List)PropertyUtils.getProperty(bean,"array"));
Java代码
  1. Stringjson="{name="json","array"));


Java代码
  1. Stringjson="{"value":"xx","row":1,"col":1}";
  2. JSONObjectjsonObject=JSONObject.fromString(json);
  3. JsonBean2bean=(JsonBean2)JSONObject.toBean(jsonObject,JsonBean2.class);
  4. assertEquals(jsonObject.get("col"),newInteger(bean.getCol()));
  5. assertEquals(jsonObject.get("row"),newInteger(bean.getRow()));
  6. assertEquals(jsonObject.get("value"),bean.getValue());
Java代码
  1. Stringjson="{"value":"xx",bean.getValue());
6 json to xml 1) JSONObject json = new JSONObject( true ); String xml = XMLSerializer.write( json ); <o class="object" null="true"> 2) JSONObject json = JSONObject.fromObject("{"name":"json","bool":true,"int":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) JSONArray json = 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> JSONArray json = (JSONArray) XMLSerializer.read( xml ); System.out.println( json ); // prints [function(i,j){ return matrix[i][j]; }]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读