格式
-
字符串必须使用双引号表示,不能使用单引号。
-
对象的键名必须放在双引号里面。
-
数组或对象最后一个成员的后面,不能加逗号。
-
复合类型的值只能是数组或对象。
-
简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null
JSON对象是 JavaScript 的原生对象,用来处理 JSON 格式数据。
两个静态方法JSON.stringify()
和JSON.parse()
。
JSON.stringify方法用于将一个值转为 JSON 字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原。
JSON.stringify('abc') // ""abc""
JSON.stringify(1) // "1"
JSON.stringify(false) // "false"
JSON.stringify([]) // "[]"
JSON.stringify({}) // "{}"
JSON.stringify([1, "false", false])
// '[1,"false",false]'
JSON.stringify({ name: "张三" })
// '{"name":"张三"}'
对于原始类型的字符串,转换结果会带双引号。
JSON.stringify('foo') === "foo" // false
JSON.stringify('foo') === "\"foo\"" // true
如果原始对象中,有一个成员的值是undefined、函数或 XML 对象,这个成员会被过滤。
var obj = {
a: undefined,
b: function () {}
};
JSON.stringify(obj) // "{}"
JSON.parse方法用于将JSON字符串转化成对象。
JSON.parse('{}') // {}
JSON.parse('true') // true
JSON.parse('"foo"') // "foo"
JSON.parse('[1, 5, "false"]') // [1, 5, "false"]
JSON.parse('null') // null
var o = JSON.parse('{"name": "张三"}');
o.name // 张三
网友评论