JSONObject和JSONArray对象的创建方法

  1.json-lib-2.4-jdk15及其依赖jar包   ,需要注意的是所依赖jar包之间的兼容性,仅仅是导入json-lib是不够的   ,包括commons-logging-1.1.1.jar日志包,xom   (XOM ™ 是一种新的 XML 对象模型。 它是一个开源 (LGPL),用于处理 XML 和 Java 力求正确性、 简单化和性能,在这基于树的 API)等


2.JSONOBject对象的创建,基于JSONobject的静态方法fromObject进行创建

    1.通过JSONObject()构造函数创建JSON对象

Java代码   收藏代码
  1. JSONObject jObject = new JSONObject();  
  2.          /* 
  3.           * json对象添加数据的三种方式 
  4.           *     --|public Object put(Object,key,Object value) 
  5.           *     --|public JSONObject accumulate (String key, Object value)  
  6.           *     --|public JSONObject element (String key, Object value)  
  7.           */  
  8.          //通过element往jObject对象中添加数据,如果key为Null,将会移除当前key  
  9.          jObject.element("name""zhangsan");  
  10.          jObject.element("sex""girl");  
  11.          jObject.element("age"16);  
  12.            
  13.          //关联一个key得到与之对应的value值  
  14.          System.out.println(jObject.get("name"));  
  15.          System.out.println(jObject.getInt("age"));  
  16.         //如果key为null,则返回值为null,并不会抛异常  
  17.          System.out.println(jObject.get("work"));    
  18.            
  19.            
  20.          JSONObject jsonObject = new JSONObject()  
  21.                                     .element("string""JSON")     
  22.                                     .element("integer""1")  
  23.                                     .element("double""2.0")  
  24.                                     .element("boolean""true");  
  25.       
 

 

 

  2.静态方法fromObject()的调用,使用格式化json字符串来创建jsonobject对象

 

Java代码   收藏代码
  1. String jsonStr = "{\"age\":12,\"name\":\"wangwu\"}";  
  2.          JSONObject jsonOb = JSONObject.fromObject(jsonStr);  
  3.         System.out.println(jsonOb.toString());  
  4.           
  5.         String jsonstr1 = "{\"age\":17,\"integer\":1,\"boolean\":true,\"double\":2.0}";  
  6.         JSONObject json = (JSONObject) JSONSerializer.toJSON(jsonstr1);  
  7.         System.out.println(json.getInt("integer"));  
  8.         System.out.println(json.getDouble("double"));  
  9.         System.out.println(json.getString("age"));  
  10.         System.out.println(json.getBoolean("boolean"));  
  11.                 bject.getInt("age"));  
  12.         //如果key为null,则返回值为null,并不会抛异常  
  13.          System.out.println(jObject.get("work"));    
  14.            
  15.            
  16.          JSONObject jsonObject = new JSONObject()  
  17.                                     .element("string""JSON")     
  18.                                     .element("integer""1")  
  19.                                     .element("double""2.0")  
 

  3.使用一个map来创建JSONObject对象

 

 

Java代码   收藏代码
  1.               Map<String,Object> map = new HashMap<String, Object>();  
  2. map.put("age"12);  
  3. map.put("boolean"true);  
  4. map.put("double",2.0);  
  5. map.put("integer"null);  
  6.   
  7. JSONObject json2 = (JSONObject) JSONSerializer.toJSON(map);  
  8. System.out.println(json2.getDouble("double"));  
  9. System.out.println(json2.getBoolean("boolean"));  
  10. //JSONNULL对象,如果元素的值为null,此情况下null不再是java中的null,而返回一个JSONNULL对象  
  11. System.out.println(JSONNull.getInstance().equals(json2.get("integer")));  //true  
 

  4.使用一个javabean来创建JSONObject对象


Java代码   收藏代码
  1. <span style="font-size: medium;">           MyBean mybean = new MyBean();  
  2.         mybean.setBoole(true);  
  3.         mybean.setDouble(2.0);  
  4.         mybean.setInteger(1);  
  5.         mybean.setString("zhangsan");  
  6.         JSONObject jsonobje  = (JSONObject) JSONSerializer.toJSON(mybean);  
  7.         System.out.println(jsonobje.getString("string"));</span>  

3.JSONArray对象的创建

Java代码   收藏代码
  1. <span style="font-size: medium;">package cn.spring.jsonobject;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5. import net.sf.json.JSONArray;  
  6. import net.sf.json.JSONObject;  
  7. import net.sf.json.JSONSerializer;  
  8.   
  9. /** 
  10.  * 创建JSONArray 
  11.  * @author Administrator 
  12.  * 
  13.  */  
  14. public class JSONArrarys {  
  15.     public static void main(String[] args) {  
  16.         /* 
  17.          * 检查调用正确的 JSONArray 工厂方法的对象类型。 
  18.          * 接受 JSON 格式字符串、 数组、 集合和枚举。  
  19.          */  
  20.           
  21.           
  22.         //1,创建一个JSONArray  
  23.         JSONObject jSObject = (JSONObject) JSONSerializer.toJSON("{\"name\":\"zhangsan\",\"age\":\"12\"}");  
  24.         JSONArray jsonarray = new JSONArray().element("json")  
  25.                         .element("1")  
  26.                         .element("2.0")  
  27.                         .element("true")  
  28.                         .element(jSObject); //JSONArray对象中添加JSONObject对象  
  29.         Object[] array = jsonarray.toArray();  
  30.         for(int i=0;i<array.length;i++){  
  31.             System.out.println(array[i]);  
  32.         }  
  33.         System.out.println(jsonarray.toString()); //["json","1","2.0","true",{"name":"zhangsan","age":"12"}]  
  34.           
  35.         System.out.println("---------------------------");  
  36.           
  37.         //2.使用一个格式化json字符串创建JSONArray  
  38.         String jarray = "['json','1','2.0','true',{'name':'zhangsan','age':'12'}]";  
  39.         JSONArray jsonArray = JSONArray.fromObject(jarray);  
  40.         System.out.println(jsonArray.get(4));  
  41.           
  42.           
  43.         System.out.println("---------------------------");  
  44.           
  45.         //3.使用一个collection集合创建JSONArray  
  46.         List<Object> list = new ArrayList<Object>();  
  47.         list.add("json");  
  48.         list.add("1");  
  49.         list.add(jSObject);  
  50.           
  51.         JSONArray jsonArray2 = JSONArray.fromObject(list);  
  52.         System.out.println(jsonArray2.toString());  
  53.         System.out.println(jsonArray2.get(2));  
  54.           
  55.         System.out.println("---------------------------");  
  56.           
  57.         //使用一个Array数组来创建JSONArray  
  58.         Object[] arr = new Object[]{"json","1",jSObject};  
  59.         JSONArray jsonArray3 = JSONArray.fromObject(arr);  
  60.         System.out.println(jsonArray3.toString());  
  61.         System.out.println(jsonArray3.get(2));  
  62.           
  63.           
  64.     }  
  65. }  
  66. </span>  

 


【原文:http://724073277.iteye.com/blog/1489935】


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值