JavaScript JSON

JSON 格式

JSON 格式的标准定义就是来源于 JavaScript 的 {},两者几乎是一样的,只是 JSON 稍微严格。

/*
 JSON 的本质是字符串形式的 object 类型 '{...}' | 因为只有 “序列化” 成字符串,才能通过网络编码传输
 typeof _JSON "string"
*/

var _JSON = '{
 "name": "jobs",
 "age": 17, 
 "like": ["strawberry", "bread"],  
 "parents": {"mon": "Lily", "dad": "mark"}, 
 "married": false,
 "money": null
}'

/*
 严格
 */
var obj = {
 name: 'job', // object 类型的 key 可以不带 引号、单引号、双引号,而 JSON 统一规定,字符串必须是 “双引号”
 'age': 17,
 "like": [...]
}

编码

把 JavaScript 对象编码成 JSON

var obj = {
    name: 'eva',
    age: 3
}

// 正常格式化
JSON.stringify(obj) // '{"name":"eva","age":3}'

// 友好显示
JSON.stringify(obj,null)

// 过滤 
JSON.stringify(obj,['name']) // '{"name": "eva"}' |  只保留 name

// 定制
JSON.stringify(obj,function (key, value) {
    if (key === 'name'){
        return value + ' cai'
    }
    return value
})

'{"name":"eva cai","age":3}'

解码

JSON 解码成 JavaScript 对象。

JSON.parse('{"name":"eva","age":3}') // {name: "eva", age: 3}

// 定制
JSON.parse({}, function (key, value) { ... })  // 同上
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程