JSONObject和JSONArray物件的建立方法
阿新 • • 發佈:2019-01-11
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程式碼-
JSONObject jObject = new
- /*
- * json物件新增資料的三種方式
- * --|public Object put(Object,key,Object value)
- * --|public JSONObject accumulate (String key, Object value)
- * --|public JSONObject element (String key, Object value)
- */
-
//通過element往jObject物件中新增資料,如果key為Null,將會移除當前key
- jObject.element("name", "zhangsan");
- jObject.element("sex", "girl");
- jObject.element("age", 16);
- //關聯一個key得到與之對應的value值
- System.out.println(jObject.get("name"));
- System.out.println(jObject.getInt("age"));
-
//如果key為null,則返回值為null,並不會拋異常
- System.out.println(jObject.get("work"));
- JSONObject jsonObject = new JSONObject()
- .element("string", "JSON")
- .element("integer", "1")
- .element("double", "2.0")
- .element("boolean", "true");
2.靜態方法fromObject()的呼叫,使用格式化json字串來建立jsonobject物件
Java程式碼- String jsonStr = "{\"age\":12,\"name\":\"wangwu\"}";
- JSONObject jsonOb = JSONObject.fromObject(jsonStr);
- System.out.println(jsonOb.toString());
- String jsonstr1 = "{\"age\":17,\"integer\":1,\"boolean\":true,\"double\":2.0}";
- JSONObject json = (JSONObject) JSONSerializer.toJSON(jsonstr1);
- System.out.println(json.getInt("integer"));
- System.out.println(json.getDouble("double"));
- System.out.println(json.getString("age"));
- System.out.println(json.getBoolean("boolean"));
- bject.getInt("age"));
- //如果key為null,則返回值為null,並不會拋異常
- System.out.println(jObject.get("work"));
- JSONObject jsonObject = new JSONObject()
- .element("string", "JSON")
- .element("integer", "1")
- .element("double", "2.0")
3.使用一個map來建立JSONObject物件
- Map<String,Object> map = new HashMap<String, Object>();
- map.put("age", 12);
- map.put("boolean", true);
- map.put("double",2.0);
- map.put("integer", null);
- JSONObject json2 = (JSONObject) JSONSerializer.toJSON(map);
- System.out.println(json2.getDouble("double"));
- System.out.println(json2.getBoolean("boolean"));
- //JSONNULL物件,如果元素的值為null,此情況下null不再是java中的null,而返回一個JSONNULL物件
- System.out.println(JSONNull.getInstance().equals(json2.get("integer"))); //true
4.使用一個javabean來建立JSONObject物件
Java程式碼- <span style="font-size: medium;"> MyBean mybean = new MyBean();
- mybean.setBoole(true);
- mybean.setDouble(2.0);
- mybean.setInteger(1);
- mybean.setString("zhangsan");
- JSONObject jsonobje = (JSONObject) JSONSerializer.toJSON(mybean);
- System.out.println(jsonobje.getString("string"));</span>
3.JSONArray物件的建立
Java程式碼- <span style="font-size: medium;">package cn.spring.jsonobject;
- import java.util.ArrayList;
- import java.util.List;
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- import net.sf.json.JSONSerializer;
- /**
- * 建立JSONArray
- * @author Administrator
- *
- */
- public class JSONArrarys {
- public static void main(String[] args) {
- /*
- * 檢查呼叫正確的 JSONArray 工廠方法的物件型別。
- * 接受 JSON 格式字串、 陣列、 集合和列舉。
- */
- //1,建立一個JSONArray
- JSONObject jSObject = (JSONObject) JSONSerializer.toJSON("{\"name\":\"zhangsan\",\"age\":\"12\"}");
- JSONArray jsonarray = new JSONArray().element("json")
- .element("1")
- .element("2.0")
- .element("true")
- .element(jSObject); //JSONArray物件中新增JSONObject物件
- Object[] array = jsonarray.toArray();
- for(int i=0;i<array.length;i++){
- System.out.println(array[i]);
- }
- System.out.println(jsonarray.toString()); //["json","1","2.0","true",{"name":"zhangsan","age":"12"}]
- System.out.println("---------------------------");
- //2.使用一個格式化json字串建立JSONArray
- String jarray = "['json','1','2.0','true',{'name':'zhangsan','age':'12'}]";
- JSONArray jsonArray = JSONArray.fromObject(jarray);
- System.out.println(jsonArray.get(4));
- System.out.println("---------------------------");
- //3.使用一個collection集合建立JSONArray
- List<Object> list = new ArrayList<Object>();
- list.add("json");
- list.add("1");
- list.add(jSObject);
- JSONArray jsonArray2 = JSONArray.fromObject(list);
- System.out.println(jsonArray2.toString());
- System.out.println(jsonArray2.get(2));
- System.out.println("---------------------------");
- //使用一個Array陣列來建立JSONArray
- Object[] arr = new Object[]{"json","1",jSObject};
- JSONArray jsonArray3 = JSONArray.fromObject(arr);
- System.out.println(jsonArray3.toString());
- System.out.println(jsonArray3.get(2));
- }
- }
- </span>
【原文:http://724073277.iteye.com/blog/1489935】