JSON是一个轻量级的数据格式,能够简化表示复杂数据结构的工做量,它不支持变量、函数或者对象实例,JSON字符串必须使用双引号(单引号会致使语法错误);在手工编写JSON时,JSON对象中的属性名任什么时候候都必须加双引号。JSON是ECMAScript5定义的对象,有两个方法:SON.stringify()和JSON.parse()。javascript
功能:把JavaScript对象序列化为JSON字符串java
语法:JSON.stringify(value[, replacer [, space]])数组
例子:浏览器
JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
JSON.stringify({x: 5, y: 6}); // "{"x":5,"y":6}"复制代码
function replacer(key, value) {
if (typeof value === "string") {
return undefined;
}
return value;
}
var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7};
JSON.stringify(foo, replacer);复制代码
var obj = {"age": 19, "name": "千钧", "functionName": "test", "address": "china"};
JSON.stringify(obj, ['age', 'name']); // "{"age":19,"name":"千钧"}"复制代码
var obj = {"age": 19, "name": "千钧", "functionName": "test", "address": "china"};
JSON.stringify(obj, null, 2)复制代码
执行结果以下所示:数据结构
功能:把JSON字符串解析为原生JavaScript对象函数
语法:JSON.parse(text[, reviver])网站
注意:若传入的字符串不符合 JSON 规范,则会抛出 SyntaxError
异常。ui
例子:spa
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null复制代码
JSON.parse('{"p": 5}', function (k, v) {
if(k === '') return v; // 若是到了最顶层,则直接返回属性值,
return v * 2; // 不然将属性值变为原来的 2 倍。
}); 复制代码
JSON.parse('[1,3,4,]')
JSON.parse('{a:1,}')复制代码
报错以下:code
经过www.caniuse.com/网站能够查看JSON.stringify()和JSON.parse()的浏览器支持的兼容性;
在开发中常使用JSON这一块,因此就将其整理一下,同时更加方便查阅;不足之处望指正!
ps:会持续更新