JSON通信协议

1,JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation),

–JSON 独立于语言和平台,需要导6个包

2,JSON只有两种结构:对象和数组, 由这两种结构嵌套和组合来表示各式各样的数据。

•数据对象由一系列的属性/值对来表示
•数据对象和属性/值对由逗号分隔
•花括号保存对象
•方括号保存数组
这里写图片描述
这里写图片描述

3,JSON 值可以是:

–数字(整数或浮点数)
–字符串(在双引号中)
–逻辑值(true 或 false)
–数组(在方括号中)
–对象(在花括号中)
–null
这里写图片描述

4,JSON的具体应用

1,复杂对象(字符串,对象,集合) -> JSON对象 -> 字符串


User user1 = new User("10002", "123456", "张三", "女");
User user2 = new User("10003", "123456", "李四", "男");
User user3 = new User("10004", "123456", "王五", "男");
ArrayListfriendList = new ArrayList<>();
friendList.add(user1);
friendList.add(user2);
friendList.add(user3);

Friend friend = new Friend("10001", friendList);
friend.setUser(user1);

JSONObject object = JSONObject.fromObject(friend);
String msg = object.toString();
System.out.println(msg);

2,字符串 -> JSON对象-> 复杂对象(字符串,对象,集合)

JSONObject object2 = JSONObject.fromObject(msg);

(1)获取字符串

String userId = object2.getString("userId"); 

(2)获取对象

JSONObject object3 = object2.getJSONObject("user");
User user = (User) JSONObject.toBean(object3, User.class); 

(3)获取集合

JSONArray array = object2.getJSONArray("friendList");
(a)JSONArray->ArrayList
ArrayListfriendList2 = (ArrayList) JSONArray.toCollection(array, User.class);
for (int i = 0; i < friendList2.size(); i++) {
System.out.println(friendList2.get(i).getUserId());
}
(b)遍历JSONArray,把里面的对象转换成User
for (int i = 0; i < array.size(); i++) {
JSONObject object4 = array.getJSONObject(i);
// 转成User
User user4 = (User) JSONObject.toBean(object4, User.class);
System.out.println(user4.getUserId());
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值