JSON
-
每个 JSON 对象就是一个值,可能是一个数组或对象,也可能是一个原始类型的值。总之,只能是一个值,不能是两个或更多的值。
-
数组或对象最后一个成员的后面,不能加逗号。
【键】
- 字符串必须使用双引号表示,不能使用单引号。
- 对象的键名必须放在双引号里面。
【值】
- 复合类型只识别数组或对象
- 原始类型只识别四种:字符串、数值(必须以十进制表示)、布尔值和null
注意,
null
、空数组和空对象都是合法的 JSON 值。
比如:
["one", "two", "three"]
{ "one": 1, "two": 2, "three": 3 }
{"names": ["张三", "李四"] }
[ { "name": "张三"}, {"name": "李四"} ]
JSON.stringify()
用于将一个值转为 JSON 字符串
- 如果该字符串符合 JSON 格式,并且可以被
JSON.parse()
方法还原。 - 正则会被转成空对象
{}
- 对象的值如果不满足规定,会被过滤
- 数组的值如果不满足规定,会被转为null
- 如果该对象有不可遍历的属性,会被忽略
JSON.stringify(obj,null,2)
可以格式化
JSON.parse()
还原JSON字符串为JSON对象
- 如果传入的字符串不是有效的 JSON 格式,
JSON.parse()
方法将报错。