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);

创建一个JSONObject方法2:

//直接转换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));

从JSONObject里获取值:

//可以根据元素属性获取
System.out.println(fromObject.getJSONObject("sex"));
System.out.println(fromObject.getJSONArray("array"));
System.out.println(fromObject.get("name"));
//根据key获取