一。JavaProject中org.json解析JSON

1.JSON的org.son-api下载

一般搜索jar使用即可。

1)JSON网址

http://www.json.org/

2)JSON的java解析org.json-api网址

http://www.json.org/java/index.html

3)JSON的org.json-api源码地址

https://github.com/douglascrockford/JSON-java

本例下载日期:2014-11-17

2.在JavaProject中使用

1)创建org.json包

2)从下载的zip包中解压源码

如果是使用jar,当然没这么麻烦。

3.使用org.json解析JSON


  1. import org.json.JSONArray;
  2. import org.json.JSONException;
  3. import org.json.JSONObject;

1)String <---> JSON


  1. /** String转JSON(JSONArray) **/
  2. // 最外围由 [] 包裹
  3. String jsonStr1 = "[{ " + " \"user3\" : \"翠花\", "
  4. + " \"pswd3\" : \"cuihua123\", "
  5. + " \"body\": { \"chest\": 68, \"waist\": 65, \"hip\": 68 }"
  6. + "}]";
  7. JSONArray jarray2 = new JSONArray(jsonStr1);
  8. System.out.println(jarray2.getJSONObject(0));
  9. /** String 转换成为 JSON(JSONObject) 对象 */
  10. // 最外围由 {} 包裹
  11. String jsonStr2 = "{ " + " \"user4\" :\"凤姐\", "
  12. + " \"pswd4\" :\"fengjie123\", "
  13. + " \"body\": { \"chest\":65, \"waist\":63, \"hip\":66 }" + "}";
  14. JSONObject jsonObj1 = new JSONObject(jsonStr2);
  15. // 根据属性名称获取String型数据;
  16. String user4 = jsonObj1.getString("user4");
  17. String pswd4 = jsonObj1.getString("pswd4");
  18. // 根据属性名获取JSONObject类
  19. JSONObject body = jsonObj1.getJSONObject("body");
  20. // 根据属性名称获取int型数据;
  21. int chest = body.getInt("chest");
  22. int waist = body.getInt("waist");
  23. int hip = body.getInt("hip");

2)集合 <---> JSON


  1. /** List集合转JSON(JSONArray) **/
  2. Map<String, String> param1 = new HashMap<String, String>();
  3. param1.put("user1", "小白");
  4. param1.put("pswd1", "xiaobai123");
  5. Map<String, String> param2 = new HashMap<String, String>();
  6. param2.put("user2", "小黑");
  7. param2.put("pswd2", "xiaohei123");
  8. // JSONArray initial value should be a string or collection or array.
  9. List<Object> params = new ArrayList<Object>();
  10. params.add(param1);
  11. params.add(param2);
  12. // 声明JSONArray对象并输入JSON字符串
  13. JSONArray jarray1 = new JSONArray(params); // 除了构造,还有put方法
  14. System.out.println(jarray1.toString());
  15. /** Map 转 JSON **/
  16. Map<String, String> map = new HashMap<String, String>();
  17. map.put("user5", "小五");
  18. map.put("pswd5", "xiaowu123");
  19. JSONArray jarray3 = new JSONArray();
  20. jarray3.put(map); // 可以put进map,或者list
  21. System.out.println(jarray3.toString());

3)JavaBean <---> JSON


  1. /* JavaBean的属性:
  2. String username;
  3. String password;
  4. int chest, waist, hip; */
  5. /** JavaBean 转换成为 JSON(JSONObject) 对象 */
  6. bean.setUsername("小四");
  7. JSONObject jsonObj2 = new JSONObject(bean);
  8. System.out.println(jsonObj2.get("username") + ", chest:" + jsonObj2.getInt("chest"));

二。JavaProject中json-lib解析JSON

1.JSON的json-lib-api下载

http://www.json.org/

http://json-lib.sourceforge.net/

http://sourceforge.net/projects/json-lib/files/

2.在JavaProject中使用

需要其它依赖jar,有些麻烦。

3.使用json-lib解析JSON


  1. import net.sf.json.JSONArray;
  2. import net.sf.json.JSONObject;

1)String <---> JSON


  1. // 一般数据 转 JSON(JSONArray)
  2. JSONArray jsonArray3 = JSONArray.fromObject("[{'user3':'凤姐'}, {'pswd3':'fengjie123'}]" );
  3. System.out.println(jsonArray3.toString());
  4. // 一般数据 转 JSON(JSONArray)
  5. JSONArray jsonArray4 = JSONArray.fromObject("['user4', '凤姐xxx', 'pswd4', 'fengjiexxx123']" );
  6. System.out.println(jsonArray4.toString());
  7. // 数组 转 JSON(JSONArray)
  8. String[] strs = new String[]{"小白", "小黑", "小四", "岳父"};
  9. JSONArray jsonArray2 = JSONArray.fromObject(strs);
  10. System.out.println(jsonArray2.toString());

2)集合 <---> JSON


  1. // List 集合转 JSON(JSONArray)
  2. List list1 = new ArrayList();
  3. list1.add("user1");
  4. list1.add("pswd1");
  5. JSONArray jsonArray1 = JSONArray.fromObject(list1);
  6. System.out.println(jsonArray1.toString());
  7. // Map 集合转 JSON(JSONObject)
  8. Map<String, String> map = new HashMap<String, String>();
  9. map.put("user2", "芙蓉");
  10. map.put("pswd2", "furong123");
  11. JSONObject jsonObject1 = JSONObject.fromObject(map);
  12. System.out.println(jsonObject1.toString());

3)JavaBean <---> JSON


  1. // Bean 转 JSON(JSONObject)
  2. JSONObject jsonObject2 = JSONObject.fromObject(new JavaBean("拱拱", "gonggong123", 34, 44, 43));
  3. System.out.println(jsonObject2.toString());
  4. // beans 转 JSON
  5. List list2 = new ArrayList();
  6. JavaBean bean1 = new JavaBean("逗比", "doubi123", 56, 54, 55);
  7. JavaBean bean2 = new JavaBean("屌丝", "diaosi123", 34, 45, 56);
  8. list2.add(bean1);
  9. list2.add(bean2);
  10. JSONArray jsonArray5 = JSONArray.fromObject(list2);
  11. System.out.println(jsonArray5.toString());

三。AndroidProject中的JSON解析

Android中JSON解析器使用的是org.json。

最新文章

  1. MySQL性能调优my.cnf详解
  2. 四种主要网络IO虚拟化模型
  3. 学习笔记 --- 最大流Dinic算法
  4. IOS 手绘地图导航
  5. 解决iframe缓存
  6. HaProxy+keepalived实现负载均衡
  7. 译文链接:http://www.codeceo.com/article/10-truth-programmer-must-know.html
  8. jsp相对路径和绝对路径小谈
  9. JS实现AOP拦截方法调用
  10. 队列顺序存储 - 设计与实现 - API函数
  11. P4177 [CEOI2008]order 网络流,最小割,最大权闭合子图
  12. 【XSY2903】B 莫比乌斯反演
  13. A1132. Cut Integer
  14. java框架之SpringBoot(1)-入门
  15. mysql homedir迁移
  16. oracle,PL/SQL新建表
  17. GIMP 使用
  18. grid+report 怎么在项目中使用
  19. PermutationSequence,求第k个全排列
  20. React 源码剖析系列 - 生命周期的管理艺术

热门文章

  1. Es5正则
  2. oracle 10g standby database 实时应用 redo 数据
  3. 11lession-class 类
  4. Android学习笔记之详细讲解画圆角图片
  5. 比较s+=4;和s=s+4;的不同
  6. HDU 1142 A Walk Through the Forest(最短路+dfs搜索)
  7. LAN8720A网络模块的使用问题
  8. 解决ListCtrl控件第一列文字不能居中显示的问题/修改网格线
  9. WPF MVVM示例自定义模板数据绑定
  10. java位运算应用