天天看点

java中的JSONObject和JSONArray的不同

最近在得到数据,转换数据的时候常常不明白什么时候需要使用JSONObject,什么时候需要使用JSONArray。

今天特地去查了一些网页终于弄明白了。

1.其实,JSONObject就是一个java对象,用{}包裹起来 例如:{”id”:1 , “username”:”dawn”} 

2.而JSONArray就是相对于java的数组。例如jsonArray2:["柯文修","23","5"]

3.那么有人问我{"id":3,"name":"lisi","age":23,"arrayList":[{"柯文修","23","5"},{"ZHULI","30","6"}]}这个是什么情况你?很简单就是 JSONOb中嵌套了JSONArray。

那么,如何给JSONObject赋值呢?

1.    JSONObject jsonObj1 = new JSONObject();

        jsonObj1.put("id", "1");

        jsonObj1.put("name", "rose");

        jsonObj1.put("age", 25);

2.        Map map=new HashMap();

   map.put("我","妹");

   map.put("擦","哇");

   map.put("你","呀");

   JSONObject json = JSONObject.fromObject(map);

3.      String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";

         JSONObject jsonObj = JSONObject.fromObject(jsonStr);//从字符串转成java代码

那么如何给JSONArray赋值呢?

1.    JSONArray jsonArray3 = new JSONArray();

        jsonArray3.add("4");

        jsonArray3.add("wangwu");

        jsonArray3.add("26");

2.     ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("柯文修");

        arrayList.add("23");

        arrayList.add("5");

        JSONArray.fromObject(arrayList);

3.    HashMap<String, Object> map = new HashMap<String,Object>();

        map.put("id", "2");

        map.put("name", "zhangsan");

        map.put("age", "25");

        JSONArray jsonArray3 = new JSONArray();

        jsonArray3.add(map);

4.  JSONArray jsonArray = new JSONArray();

        jsonArray.add(0, "ZHULI");

        jsonArray.add(1, "30");

        jsonArray.add(2, "ALI");

        jsonArray.add(1, "31");

        jsonArray.add(2,"Aroon");

那么如何复制嵌套的呢?

1    ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("柯文修");

        arrayList.add("23");

        arrayList.add("5");

        JSONArray.fromObject(arrayList);//先是变成一个JSONArray

        //创建一个复杂JSON对象(JSON对象里有JSON数组)

        JSONObject jsonObj3 = new JSONObject();

        jsonObj3.put("id", 3);

        jsonObj3.put("name", "lisi");

        jsonObj3.put("age", 23);

        jsonObj3.put("arrayList", arrayList);//讲arrayList放入到JSONObject中

        System.out.println("jsonObj3"+jsonObj3);