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擷取