读前声明:本文是我对json网上查找后的转载,经过个人整理、标记便于自己学习复习的笔记而已。
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON 语法规则
JSON 键/值对
1 | {"firstName": "Json"} |
1 | {firstName : "Json"} |
JSON 与 JS 对象的关系
1 | var obj = {a: 'Hello' , b: 'World' }; //这是一个对象,注意键名也是可以使用引号包裹的 |
1 | var json = '{"a": "Hello", "b": "World"}' ; //这是一个 JSON 字符串,本质是一个字符串 |
JSON 和 JS 对象互转
1 | var json = JSON.stringify({a: 'Hello' , b: 'World' }); //结果是 '{"a": "Hello", "b": "World"}' |
1 | var obj = JSON.parse( '{"a": "Hello", "b": "World"}' ); //结果是 {a: 'Hello', b: 'World'} |
常用类型
编辑基础示例
编辑表示对象
1 | {"firstName": "Brett", "lastName": "McLaughlin"} |
表示数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | { "people":[ { "firstName": "Brett", "lastName":"McLaughlin" }, { "firstName":"Jason", "lastName":"Hunter" } ] } |
和XML的比较
编辑可读性
可扩展性
编码难度
解码难度
实例比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <? xml version = "1.0" encoding = "utf-8" ?> < country > < name >中国</ name > < province > < name >黑龙江</ name > < cities > < city >哈尔滨</ city > < city >大庆</ city > </ cities > </ province > < province > < name >广东</ name > < cities > < city >广州</ city > < city >深圳</ city > < city >珠海</ city > </ cities > </ province > < province > < name >台湾</ name > < cities > < city >台北</ city > < city >高雄</ city > </ cities > </ province > < province > < name >新疆</ name > < cities > < city >乌鲁木齐</ city > </ cities > </ province > </ country > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | { "name": "中国", "province": [{ "name": "黑龙江", "cities": { "city": ["哈尔滨", "大庆"] } }, { "name": "广东", "cities": { "city": ["广州", "深圳", "珠海"] } }, { "name": "台湾", "cities": { "city": ["台北", "高雄"] } }, { "name": "新疆", "cities": { "city": ["乌鲁木齐"] } }] } |