JSONObject/JSONArray的区别
(1)JSONObject : java对象,用{}包裹起来
例如:{”id”:1 , “username”:”wp”}
(2)JSONArray : 数组或字符串[1,2,3]
(3)特殊形式:
{“id”:1 , “username:” :”wp” , “books” :[{“book1” : “java开发”},{ “book2” : “android开发”}]}这是JSONObject中嵌套JSONArray的形式,其中books是JSONArray的形式,books中又含有book1,book2的JSONObject的形式 获取方式:
JSONArray array = jsonObject.getJSONArray(“books”);
(3)写入JSONObject
JSONObject json=new JSONObject();
JSONObject json1=new JSONObject();
JSONObject json2=new JSONObject();
JSONArray books=new JSONArray();
json1.put("book1","java开发");
json2.put("book2","android开发");
books.put(json1);
books.put(json2);
json.put("id",1);
json.put("username","wp");
json.put("username","wp");
json.put("books",books);
System.out.println(json.toString());
结果:
{"books":[{"book1":"java开发"},{"book2":"android开发"}],"id":1,"username":"wp"}
(4)读取json数据
String s=json.toString();
JSONArray array = json.getJSONArray("books");
JSONObject a=new JSONObject(s);
System.out.println(array);
System.out.println(a.getInt("id"));
结果:
[{"book1":"java开发"},{"book2":"android开发"}]
1
(5)list转JSONArray( map,数组 转json与其类似)
ArrayList<String> list=new ArrayList<String>();
list.add("java");
list.add("android");
JSONArray jsonarray = JSONArray.fromObject(list);
System.out.println(jsonarray);
(6)Object对象转JSONObject
User u1=new User(1,"wp1");
User u2=new User(2,"wp2");
ArrayList<User> list=new ArrayList<User>();
list.add(u1);
list.add(u2);
JSONObject jsonobject =JSONObject.fromObject(list);
System.out.println(jsonobject);