最近在得到資料,轉換資料的時候常常不明白什麼時候需要使用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);