JSON是一种类似JavaScript对象的数据表示格式
- JavaScript Object Notation
- 去除了JavaScript的执行语句
- 仅保留数据
JSON格式:
- 仅保留UTF-8编码
- 必须使用双引号
- 特殊字符用\转译 "abc\nxyz\tend"
JSON特点:
- 适合表示层次结构
- 格式简单、仅支持
* {..} 键值对
* [...] 数组
* String字符串
* Number数值(整数和浮点数)
* Boolean 布尔值
* null空值
{ "code": "0", "data": { "list": [{ "id": "9387", "Person": "张三", "patId": 10406240, "unitPrice": 2088.5, "marry": true, "visitStatus": null }], "totalCount": "153" }, "message": "操作成功" }
浏览器直接支持JSON的读写。因为浏览器的JavaScript方法提供了JSON.parse()和JSON.stringify(),能够直接吧一个JSON字符串变为JavaScript对象或者把JavaScript对象序列化为JSON字符串,所以在开发web应用的时候,使用JSON作为数据传输,在浏览器端可以直接使用JavaScript读写JSON。
//JSON String to JavaScript Object jsObj = JSON.parse(jsonStr); //JavaScript object to JSON string jsonStr = JSON.stringify(jsObj);
因为JSON天生适合JavaScript读写,所以REST API通常选择JSON作为数据传输格式
解析JSON的方法:
- JSR 353 API
- Jackson
- gson
- fastjson
总结:
JSON是轻量级的数据表示方式
- 格式简单
- 解析速度快
- 适合Web应用