JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
– JSON 独立于语言和平台,需要导6个包
JSON只有两种结构:对象和数组, 由这两种结构嵌套和组合来表示各式各样的数据。
•数据对象由一系列的属性/值对来表示
•数据对象和属性/值对由逗号分隔
•花括号保存对象
•方括号保存数组
JSON 值可以是
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
JSON的具体应用
复杂对象(字符串,对象,集合) -> JSON对象 -> 字符串
User user1 = new User("10002", "123456", "张三", "女");
ArrayListfriendList = new ArrayList<>();
friendList.add(user1);
Friend friend = new Friend("10001", friendList);
friend.setUser(user1);
JSONObject object = JSONObject.fromObject(friend);
String msg = object.toString();
System.out.println(msg);
字符串 -> JSON对象-> 复杂对象(字符串,对象,集合)
JSONObject object2 = JSONObject.fromObject(msg);
获取字符串
String userId = object2.getString(“userId”);
获取对象
JSONObject object3 = object2.getJSONObject(“user”); User user = (User) JSONObject.toBean(object3, User.class);
获取集合
//第一步JSONArray->ArrayList JSONArray array = object2.getJSONArray(“friendList”); for (int i = 0; i < friendList2.size(); i++) { System.out.println(friendList2.get(i).getUserId()); } for (int i = 0; i < array.size(); i++) { JSONObject object4 = array.getJSONObject(i);
- JSON转成User
User user4 = (User) JSONObject.toBean(object4, User.class);
System.out.println(user4.getUserId());
}