天天看點

JSON - JSON_lib

JSON_lib 主要包括兩大類 JSONArray 和JSONObject

【1】JSONArray

看到array,聯想到ArrayList,就應該想到這個是基于數組的,是數組類型。

JSONArray 将要轉換的參數必須以”[ ]”開頭和結尾;

如下JSONArray包括四種元素:json對象,int,數組,string;

[
{"name":"jim","age":20},
123456,
[{"name":"ji2","age":21}],
"sex"
]      

建立一個JsonArray方法1:

//類似于list,直接使用add 方法
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, "ZHULI");
        jsonArray.add(1, "30");
        jsonArray.add(2, "ALI");
        jsonArray.add("[{'name':'ji2','age':21}]");
        //可不加index
        System.out.println("jsonArray1:" + jsonArray);      

建立一個JsonArray方法2:

//直接轉換list為jsonarray

        List arrayList = new ArrayList<>();
        arrayList.add("ZHULI");
        arrayList.add("30");
        arrayList.add("ALI");
        System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));      

從JSONArray裡擷取值:

//可以根據元素屬性擷取
        System.out.println(fromObject.getJSONObject(0));
        System.out.println(fromObject.getInt(3));
        //根據index擷取
        System.out.println(fromObject.getJSONArray(4));
        ...      

【2】JSONObject

直譯:JSON對象;

故而,JSONObject裡面是鍵值對形式的json對象;

JSONArray 将要轉換的參數必須以”{ }”開頭和結尾;

建立一個JSONObject方法1:

//類似于map,直接使用put方法
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("UserName", "ZHULI");
        jsonObject.put("age", "30");
        jsonObject.put("workIn", "ALI");
        System.out.println("jsonObject1:" + jsonObject);      
//直接轉換map,為JSONObject
        HashMap<String, String> hashMap = new HashMap<String, String>();
        hashMap.put("UserName", "ZHULI");
        hashMap.put("age", "30");
        hashMap.put("workIn", "ALI");
        System.out.println("jsonObject2:" + JSONObject.fromObject(hashMap));      
//可以根據元素屬性擷取
        System.out.println(fromObject.getJSONObject("sex"));
        System.out.println(fromObject.getJSONArray("array"));
        System.out.println(fromObject.get("name"));
        //根據key擷取