Java解析Json(org.json,json-lib)

 在www.json.org上公布了很多Java下的json解析工具,其中org.json和json-lib比较简单,两者使用上差不多。下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序。

 http://json.org/java/


也可以试试阿里的fastjson


1.org.json解析Json的过程.json.jar见附件

 

TestJson.java如下:

Java代码  
  1. package com;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import org.json.JSONArray;  
  7. import org.json.JSONException;  
  8. import org.json.JSONObject;  
  9.   
  10. public class TestJson {  
  11.   
  12.     public static void main(String[] args) throws JSONException {  
  13.         // 组Json串  
  14.         String json = "{\"name\":\"reiz\"}";  
  15.         // 根据Json串生成Json对象  
  16.         JSONObject jsonObj = new JSONObject(json);  
  17.         // 获得name键对应的值.  
  18.         String name = jsonObj.getString("name");  
  19.         System.out.println(name) ; // 输出 reiz  
  20.           
  21.         // 向Json中追加一个R字符串.initial:R  
  22.         jsonObj.put("initial", name.substring(01).toUpperCase());  
  23.   
  24.         // 向Json对象中加入对象类型数据(map)  
  25.         Map<String, String> ingredients = new HashMap<String, String>();  
  26.         ingredients.put("apples""3kg");  
  27.         ingredients.put("sugar""1kg");  
  28.         ingredients.put("pastry""2.4kg");  
  29.         ingredients.put("bestEaten""outdoors");  
  30.         jsonObj.put("ingredients", ingredients);  
  31.           
  32.         // 获得Map对象的字符串  
  33.         String ingre = jsonObj.get("ingredients");   
  34.         System.out.println(ingre) ;  
  35.         // 输出 {"apples":"3kg","sugar":"1kg","bestEaten":"outdoors","pastry":"2.4kg"}  
  36.         // 把Map对象生成Json对象  
  37.         JSONObject jsonIngre = new JSONObject(ingre);  
  38.         System.out.println(jsonIngre.getString("apples")) ;  // 输出 3kg  
  39.           
  40.         System.out.println(jsonObj);  
  41.         // 输出 {"ingredients":{"apples":"3kg","sugar":"1kg","bestEaten":"outdoors","pastry":"2.4kg"},"initial":"R","name":"reiz"}  
  42.           
  43.     }  
  44. }  

 

 

2.利用json-lib实现Json的解析,在网上看到的,留以后使用.见json-lin附件.

 

Java代码  
  1. import java.util.HashMap;  
  2. import java.util.Map;  
  3.   
  4. import net.sf.json.JSONObject;  
  5.   
  6. public class Test {  
  7.   
  8.   public static void main(String[] args) {  
  9.   String json = "{\"name\":\"reiz\"}";  
  10.   JSONObject jsonObj = JSONObject.fromObject(json);  
  11.   String name = jsonObj.getString("name");  
  12.       
  13.   jsonObj.put("initial", name.substring(01).toUpperCase());  
  14.   
  15.   String[] likes = new String[] { "JavaScript""Skiing""Apple Pie" };  
  16.   jsonObj.put("likes", likes);  
  17.   
  18.   Map<String, String> ingredients = new HashMap<String, String>();  
  19.   ingredients.put("apples""3kg");  
  20.   ingredients.put("sugar""1kg");  
  21.   ingredients.put("pastry""2.4kg");  
  22.   ingredients.put("bestEaten""outdoors");  
  23.   jsonObj.put("ingredients",ingredients);  
  24.       
  25.   System.out.println(jsonObj);  
  26.   }  
  27. }  

 //两者的使用几乎是相同的,但org.json比json-lib要轻量得多,前者没有任何依赖,而后者要依赖ezmorph和commons的lang、logging、

beanutils、collections等组件。


转自:http://ysj5125094.iteye.com/blog/1633238

你可能感兴趣的:(Java解析Json(org.json,json-lib))