json
JavaScript Object Notation
JSON(JavaScript Object Notation, JS 对象简谱) 是 ⼀种轻量级的数据交换格式 好处: 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语 ⾔ 易于 ⼈阅读和编写,同时也易于机器 解析和 ⽣成,并有效地提升 ⽹络传输效率 JSON 独 ⽴于语 ⾔和平台,JSON 解析器和 JSON 库 ⽀持 许多不同的编程语 ⾔。
格式 key value 键值对: 花括号保存对象 {"key":"value"} ⽅括号保存数组 [{"key":"value"},{"key":"value"}]
值类型
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在 ⽅括号中)
- 对象(在花括号中)
- null
{
"code": 0,
"data": {
"id": 1,
"url": "https://www.aliyun.com/minisite/goods?userCode=r5saexap&share_source=copy_link",
"img": "https://xd-video-pc-img.oss-cn-beijing.aliyuncs.com/xdclass_pro/bannner/1911/1212.png",
"createTime": "2018-11-18T16:00:00.000+0000",
"remark": "竖图"
},
"msg": null
}
JSON 字符串
JSON 对象被序列化为字符串,就叫 JSON 字符串,和对象可以互相转换。
JSON 开源库
- Gson Google 公司开源 地址:https://github.com/google/gson
- FastJson(项 ⽬选 ⽤) 阿 ⾥巴巴开源 地址:https://github.com/alibaba/fastjson
- 还有 Jackson、Json-lib 等很多
示例
System.out.println(response.toString());//{"code":0,"data":{"id":1,"url":"https://www.aliyun.com/minisite/goods?userCode=r5saexap&share_source=copy_link","img":"https://xd-video-pc-img.oss-cn-beijing.aliyuncs.com/xdclass_pro/bannner/1911/1212.png","createTime":"2018-11-18T16:00:00.000+0000","remark":"竖图"},"msg":null}
String jsonStr = response.toString();
Gson gson = new Gson();
Map<String,Object> objectMap = gson.fromJson(jsonStr, Map.class);
//业务中不要用Object来描述数据类型
Object codeValue = objectMap.get("code");
System.out.println(codeValue);