JSON, JavaScript Object Notation,是老道 (Douglas Crockford) 受 js 的字面量表示法启发而发明的一种数据交换格局。
JSON 的设计指标是成为一个极简的,轻便的和文本式的 JavaScript 子集。实现互通所须要的共识越少,互通就越容易实现。
咱们开发中常见的 JSON,形如上面这样
{
“color”:“red”,
“shape”:“square”,
“age”: 13
}
但实际上 JSON 格局不是仅有下面这样的。
JSON 可用格局如下:
1、纯数字。如 333 是 JSON。
2、双引号包裹的字符串,如“六六六”是 JSON。(单引号的‘六六六’不是)
3、布尔值。独自的 true 或者 独自的 false 是 JSON。
4、特殊字符 null 是 json。(留神 undefined,NaN,Infinity 不是 json)
5、数组。(留神数组里不能呈现 undefined,NaN,Infinity)
6、JSON 对象。(留神:key 都必须用双引号)
(断定规范,参考这个网站 https://jsonlint.com/)
此外 function() {} 不是 JSON。
所以在用 JSON.parse(JSON.stringify(obj))的时候,undefined, NaN, Infinity, function 都被疏忽。
同步更新到本人的语雀
https://www.yuque.com/diracke…