JSON——(JavaScript Object Notation, JS 对象简谱) 数据交换格式。JSON是一个序列化的对象或数组。...

JSON   (JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON 语法规则

JSON是一个标记符的序列。这套标记符包含六个 构造字符字符串数字和三个 字面名
JSON是一个序列化的 对象数组
 
 
3.2 可以是 对象数组数字字符串或者三个 字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写。
3.2.1 对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的 由逗号分割的 键值对组成,如:
1
     { "name" "John Doe" "age" : 18,  "address" : { "country"  "china" "zip-code" "10000" }}
3.2.2 数组是由方括号括起来的一组值构成,如:
1
[3, 1, 4, 1, 5, 9, 2, 6]
3.2.3  字符串与C或者Java的字符串非常相似。字符串是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
3.2.4 数字也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。  [2]  
一些合法的JSON的实例:
1
{ "a" : 1,  "b" : [1, 2, 3]}
1
[1, 2,  "3" , { "a" : 4}]
1
3.14
1
"plain_text"
     

JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
1
var  obj = {a:  'Hello' , b:  'World' };  //这是一个对象,注意键名也是可以使用引号包裹的
1
var  json =  '{"a": "Hello", "b": "World"}' //这是一个 JSON 字符串,本质是一个字符串
     

JSON 和 JS 对象互转

要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:
1
var  obj = JSON.parse( '{"a": "Hello", "b": "World"}' );  //结果是 {a: 'Hello', b: 'World'}
要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:
1
var  json = JSON.stringify({a:  'Hello' , b:  'World' });  //结果是 '{"a": "Hello", "b": "World"}'

 

 

转载于:https://www.cnblogs.com/xtxt1127/p/11506748.html

你可能感兴趣的:(JSON——(JavaScript Object Notation, JS 对象简谱) 数据交换格式。JSON是一个序列化的对象或数组。...)