JSONObject
- 大家看到JSONObject就应该真的这个类是和Json格式相关的吧,没错,JSONObject就是将数据json化的一个类,它是以键值对存在的,key-value形式和map类型比较相像。
- 下面我们先来简单使用一下这个类:
//这里新建一个JSONObject对象
JSONObject object = new JSONObject();
//添加数据
object.put("aaa","aaa");
object.put("111","2222");
object.put("111","3333");
object.put("444","4444");
object.put("555","5555");
object.put("111","6666");
object.put("000","0000");
System.out.println("object" + object);
打印输出看一下结果:
可以看到输出结果,我这里存入了三个key一样的键值对{“111”:“2222”}和{“111”:”3333“}和{”111“:”6666“},可是结果打印出来只有”6666“这个结果,可以看到这边存在的key是不可以重复的,要是重复的话,就会被后来存入的替换掉。并且,JSONObject还有自动排序的操作,可以看到我最后存入的是”000“,结果”000“是在前面输出的。
JSONArray
- JSONArray是一个可以存入Json的数组,下面我们看一段代码:
//上面那段代码后面在增添这些代码
JSONObject o1 = new JSONObject();
o1.put("name","hyf");
o1.put("sex","girl");
System.out.println("o1"+o1);
//o2里面存放的是对象object和o1
JSONObject o2 = new JSONObject();
o2.put("item1",object);
o2.put("item2",o1);
System.out.println("o2" + o2);
//o3里面存放的是对象o2
JSONObject o3 = new JSONObject();
o3.put("j3",o2);
System.out.println("o3"+o3);
JSONArray jsonArray = new JSONArray();
//给jsonArray存入数据 o1 和”two“
jsonArray.put(o1);
jsonArray.put("two");
System.out.println("jsonArray" + jsonArray);
//给object对象加入一个JSONArray
object.put("jsonArray",jsonArray);
System.out.println("object添加了jsonArray"+object);
//getJSONArray()使用这个方式时,里面的参数对应的value必须要是JSONArray类型的,不然会出错。
JSONArray array = object.getJSONArray("jsonArray");
System.out.println("array" + array);
下面看一下结果