java中使用json需要引入第三方json项目

json官网http://json.org

json官网页面往下拉,可以找到Java板块,该板块列出了官方推荐的第三方json项目


 

之前开发用的Json-lib,但今天发现org.json更简便(Json-lib依赖的jar较多)

本文将介绍org.json的用法

1下载org.json

org.json的官网: http://www.json.org/java/index.html。点击官网页面的”Free
source code is available”
即可转到org.jsongithub的源码页,点击页面右侧的”Download ZIP”,下载”JSON-java-master.zip”文件,解压该文件。Eclipse中新建package,命名”org.json”,然后将”JSON-java-master”里的文件拷到”org.json”,即可在项目使用json

也可以将org.json打成jar包,方便以后使用。右键org.json文件Export—Java—JAR file,点”Next”,选中org.json、org.json.zip文件夹,然后输入jar文件的输出路径

2. json的用法

2.1 初始化json对象

json常用的对象是JSONObject、JSONArray

 

  1. package TestJson;  
  2.   
  3. import org.json.JSONArray;  
  4. import org.json.JSONObject;  
  5.   
  6. public class TestJson01 {  
  7.     public static void main(String[] args) {  
  8.         //初始化JSONObject 方法一  
  9.         JSONObject jsonObject1 = new JSONObject();  
  10.         jsonObject1.put(“Name”, “Tom”);  
  11.         jsonObject1.put(“age”, “11”);  
  12.           
  13.         //初始化JSONObject 方法二  
  14.         JSONObject jsonObject2 = new JSONObject(“{\’Name\’:\’Tom\’,\’age\’:\’11\’}”);  
  15.           
  16.         //初始化JSONArray 方法一  
  17.         JSONArray jsonArray1 = new JSONArray();  
  18.         jsonArray1.put(“abc”);  
  19.         jsonArray1.put(“xyz”);  
  20.           
  21.         //初始化JSONArray 方法二  
  22.         JSONArray jsonArray2 = new JSONArray(“[\’abc\’,\’xyz\’]”);  
  23.           
  24.         System.out.println(“jsonObject1:” + “\r” + jsonObject1.toString());  
  25.         System.out.println(“jsonObject2:” + “\r” + jsonObject2.toString());  
  26.         System.out.println(“jsonArray1:” + “\r” + jsonArray1.toString());  
  27.         System.out.println(“jsonArray2:” + “\r” + jsonArray2.toString());  
  28.           
  29.     }  
  30. }  

Output

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. jsonObject1:  
  2. {“Name”:”Tom”,”age”:”11″}  
  3. jsonObject2:  
  4. {“Name”:”Tom”,”age”:”11″}  
  5. jsonArray1:  
  6. [“abc”,”xyz”]  
  7. jsonArray2:  
  8. [“abc”,”xyz”]  

2.2 JSONObject、JSONArray相互嵌套

  1. package TestJson;  
  2.   
  3. import org.json.JSONArray;  
  4. import org.json.JSONObject;  
  5.   
  6. public class TestJson02 {  
  7.     public static void main(String[] args) {  
  8.         JSONObject jsonObject = new JSONObject(“{\’Name\’:\’Tom\’,\’age\’:\’11\’}”);  
  9.         JSONArray jsonArray = new JSONArray(“[\’abc\’,\’xyz\’]”);  
  10.           
  11.         //JSONObject内嵌JSONObject  
  12.         JSONObject jsonObject1 = new JSONObject();  
  13.         jsonObject1.put(“object1”, jsonObject);  
  14.         jsonObject1.put(“object2”, jsonObject);  
  15.           
  16.         //JSONObject内嵌JSONArray  
  17.         JSONObject jsonObject2 = new JSONObject();  
  18.         jsonObject2.put(“JSONArray1”, jsonArray);  
  19.         jsonObject2.put(“JSONArray2”, jsonArray);  
  20.           
  21.         //JSONArray内嵌JSONArray  
  22.         JSONArray jsonArray1 = new JSONArray();  
  23.         jsonArray1.put(jsonArray);  
  24.         jsonArray1.put(jsonArray);  
  25.           
  26.         //JSONArray内嵌JSONObject  
  27.         JSONArray jsonArray2 = new JSONArray();  
  28.         jsonArray2.put(jsonObject);  
  29.         jsonArray2.put(jsonObject);  
  30.           
  31.         System.out.println(“JSONObject内嵌JSONObject:” + “\r” + jsonObject1.toString());  
  32.         System.out.println(“JSONObject内嵌JSONArray:” + “\r” + jsonObject2.toString());  
  33.         System.out.println(“JSONArray内嵌JSONArray:” + “\r” + jsonArray1.toString());  
  34.         System.out.println(“JSONArray内嵌JSONObject:” + “\r” + jsonArray2.toString());  
  35.           
  36.     }  
  37. }  

Output

 

  1. JSONObject内嵌JSONObject:  
  2. {“object1”:{“Name”:“Tom”,“age”:“11”},“object2”:{“Name”:“Tom”,“age”:“11”}}  
  3. JSONObject内嵌JSONArray:  
  4. {“JSONArray2”:[“abc”,“xyz”],“JSONArray1”:[“abc”,“xyz”]}  
  5. JSONArray内嵌JSONArray:  
  6. [[“abc”,“xyz”],[“abc”,“xyz”]]  
  7. JSONArray内嵌JSONObject:  
  8. [{“Name”:“Tom”,“age”:“11”},{“Name”:“Tom”,“age”:“11”}]  

开发中根据需求进行内嵌

2.3 解析json数据

  1. package TestJson;  
  2.   
  3. import org.json.JSONObject;  
  4.   
  5. public class TestJson03 {  
  6.     public static void main(String[] args) {  
  7.         //解析字符串  
  8.         JSONObject jsonObject1 = new JSONObject();  
  9.         jsonObject1.put(“Name”, “Tom”);  
  10.         jsonObject1.put(“age”, “11”);  
  11.         System.out.println(“解析字符串:” + “\r” + jsonObject1.getString(“Name”));  
  12.           
  13.         //解析对象  
  14.         JSONObject jsonObject = new JSONObject(“{\’Name\’:\’Tom\’,\’age\’:\’11\’}”);  
  15.         JSONObject jsonObject2 = new JSONObject();  
  16.         jsonObject2.put(“jsonObject”, jsonObject);  
  17.           
  18.         System.out.println(“解析对象:”);  
  19.         System.out.println(jsonObject2.getJSONObject(“jsonObject”).toString());  
  20.     }  
  21.   
  22. }  

Output:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 解析字符串:  
  2. Tom  
  3. 解析对象:  
  4. {“Name”:”Tom”,”age”:”11″}  

版权声明:本文为博主原创文章,未经博主允许不得转载。

版权声明:本文为qquan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qquan/articles/4684989.html