1.什么是JSON?
a) JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
b) json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构
1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为
{key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理
解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
经过对象、数组2种结构就可以组合成复杂的数据结构了。
2.JSON语法
a)JSON语法规则:
-
对象表示为键值对
-
数据由逗号分隔
-
花括号保存对象
-
方括号保存数组
1
|
{"firstName": "John"}
|
这很容易理解,等价于这条 JavaScript 语句:
1
|
{firstName = "John"}
|
c)JSON与JS对象的关系
很多人搞不清楚JSON和JS对象的关系,甚至连谁是谁都搞不清楚。其实,可以这么理解:
JSON是JS对象的字符串表示法,它使用文本表示一个JS对象,本质是一个字符串。
如:var obj = { a : 'hello' , b : 'World' }; //这是一个对象,注意键名也是可以使用引号包裹的
var json = ' { "a" : "hello" ,"b" : "World" } ' ; //这是一个JSON字符串,本质是一个字符串
d)JSON与JS对象互转
要实现从对象转换为JSON字符串,使用JSON.stringify()方法:
var json = JSON.stringify({a: 'hello' , b: 'world' }); //结果是 ‘{"a":"hello" , "b":"World"}’;
要实现从JSON转换为对象,使用JSON.parse()方法
var obj=JSON.parse('{"a": "Hello" , "b": "World"}'); //结果是{a: 'Hello' ,b :'World'}
3.常用类型: