什么是JSON
JavaScript Object Notation (JSON) 是一种数据交换格式。
认识JSON
JSON长得和JS数据差不多,但JSON是字符串类型。比如:
// JS 对象var obj = { id: 1, name: 'zs' };// JSON 字符串var json = '{ "id": 1, "name": "zs" }';
很少直接在JS代码中写JSON。一般都是在JSON文件(
xxx.json)中写JSON。 后续的ajax课程,大部分接口响应的结果都是JSON字符串格式。
编写JSON
- 不允许出现 undefined
- 不允许写注释
- 不能有函数
- 无论是属性名还是字符串类型的值,都必须加双引号。(单引号都不行)
- JSON中可以包括的数据类型
- 数字
- 字符串(必须加双引号)
- 布尔
- null
- 数组
- 对象
一个完整的JSON字符串,前后的括号必须对应,且不能有其他内容。
JSON和JS数据转换
JSON ——> JS
let JS数据 = JSON.parse(JSON字符串);- 这个过程叫做 反序列化
JS ——> JSON
let JSON字符串 = JSON.stringify(JS数据);- 这个过程叫做 序列化
请思考下面的转换:
// ------------------------- 转成JSON格式 --------------------var obj = {// 这里有一个注释name: 'zs',age: undefined,sayHi: function () {console.log('Hi~');}};console.log( JSON.stringify(obj) );// 思考,答案是怎样的呢?// ---------------------- JSON转成JS数据 ---------------------var json = 'true123["apple", "orange"]';var aa = JSON.parse(json); // 报错,因为把三部分JSON格式的字符串放到一起了
