JSONObject與JSONArray的使用

一、    所使用的包

    JSONObject和JSONAarry是json-lib包下的類,要是用它們首先應該引入JSON-lib包以及相關依賴包commons-lang.jar、commons-beanutils.jar、commons-collections.jar、commons-logging.jar ezmorph.jarjson-lib-2.2.2-jdk15.jar

二、JSONArray和JSONObject的使用

    

    JSONObject j1 = new JSONObject();
    j1.put("小明","男");
    j1.put("小紅","女");                   //put方法裏放的key和value都是object
    System.out.println(j1);
    JSONObject j2 = new JSONObject();
    j2.element("小明","男");
    System.out.println(j2);
    j2.accumulate("小明","女");
    System.out.println(j2);
    j2.accumulate("小紅","女");
    System.out.println(j2);               //{"小明":["男","女"],"小紅":"女"}
    JSONArray array = j2.getJSONArray("小明");
    System.out.println(array);            //["男","女"]
    Object o = array.get(0);
    System.out.println(o);                // 男

這裏要注意put、element、accumulate的使用區別。它們分別都是添加鍵值對,put方法的key和value都可以是object,另外兩個方法的key必須是 string。當遇到key相同時,put方法會把value值替換掉,而accumulate會在當前key下生成一個JSONArray。element方法遇到key相同時,如果value不是空則執行accumulate方法,否則會移除這個key.

此外JSONObject.fromObject()方法可以將一個Object對象轉化爲JsonObject對象,打印出來的是Json格式。j1.getJSONObject()方法可以講一個String字符串轉化爲JSONObject對象。JSONObject對象還有很多別的方法,可以參看API。 在JSONObject的方法裏put作爲前綴的如果轉化失敗會出現異常,所以要try catch或者throw出去,而opt前綴的方法不會拋出異常。

JSONArray可以看成一個數組的形式。它使用add方法來添加元素,支持按索引添加,也可以之間添加一個Collection。取值時使用get方法,參數是index(第一個是0)索引。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章