JSON 对象包含两个方法: 用于解析 JavaScript Object Notation (JSON) 的 parse() 方法,以及将对象/值转换为 JSON字符串的 stringify() 方法。除了这两个方法, JSON 这个对象本身并没有其他作用,也不能被调用或者作为构造函数调用。
JavaScript 内置的 JSON对象
用于处理 JSON
。
JSON(JavaScript Object Notation)是一种带有格式的文本,JavaScript 中的 JSON对象
用于处理这种文本。
JSON 对象只提供了两个方法,一个用于序列化 JSON ,一个用于反序列化 JSON 。
这里的序列化可以理解成将JavaScirpt对象转换成JSON
,反序列化则是将JSON转换成JavaScript对象
。
1. JSON.parse
JSON.parse
用于解析 JSON 格式的字符串,将 JSON 转化成 JavaScript 对象。
JSON.parse(JSON字符串, 处理函数);
代码块
预览复制
第一个参数是要转换成对象的 JSON 字符串,第二个参数可以不传递/
var str = '{ "name": "baba", "age": 12, "info": { "locate": "浙江" } }';
var user = JSON.parse(str);
console.log(user); // 输出一个 JavaScript 对象
代码块
预览复制
传递给 JSON.parse 方法的字符串要符合 JSON 标准,否则会报错。
第二个参数非常有趣,传入的是一个函数,这个函数会在每个 JSON 属性被解析的时候调用,同时会传递属性名和属性值给函数作为参数,传入参数的返回值会作为当前遍历到的属性的新值。
var str = '{ "name": "baba", "age": 12, "info": { "locate": "浙江" } }';
var user = JSON.parse(str, function(key, value) {
console.log(key, value);
return value;
});
代码块
预览复制
可以发现上述例子打印的最后一项,属性名是可以空字符串,属性值是解析完的结果。
修改一下例子,将返回值改成一个固定的值。
var str = '{ "name": "baba", "age": 12, "info": { "locate": "浙江