JSON.parse()
JSON 通常用于与服务端交换数据,在接收服务器数据时一般是字符串。我们可以通过JSON.parse()将接受到的字符串转化为javascript对象。
JSON.parse(text[, reviver])
- text:必需, 一个有效的 JSON 字符串。
- reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
let obj = JSON.parse('{"name": "lk" , "age": "18"}');
console.log(obj); //{name: "zhangsan", age: "18"}
JSON.parse 的第二个参数 reviver,转换结果的函数,对象的每个成员调用此函数。
var obj = JSON.parse( '{ "name":"lk", "age":11}', function (key, value) {
console.log(key, value);
});
JSON.stringify()
可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串,然后向服务器发送数据。
JSON.stringify(value[, replacer[, space]])
- value 必需 ,一个有效的JSON对象
- replacer 可选 用于转换结果的函数或数组
- space 可选,文本添加缩进、空格和换行符
let obj1 = JSON.stringify( {"name": "lk", age : 18});
console.log(obj1); // '{"name":"lk","age":18}'
typeof(obj1); //string
也可以将 JavaScript 数组转换为 JSON 字符串
let obj2 = JSON.stringify(["a", "b", "c"]);
console.log(obj2); // '["a", "b", "c"]'
typeof(obj2); //string
JSON 不允许包含函数,JSON.stringify() 会删除 JavaScript 对象的函数,包括 key 和 value。
let obj3 = JSON.stringify({"name": "lk", "age": function(){ return 18 }});
console.log(obj3); // '{"name":"lk"}'