一、什么是JSON?
JSON 英文全称 JavaScript Object Notation,JSON 是用于存储和传输数据的格式。JSON 最常见的用法是从 web 服务器上读取 JSON 数据,将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
JSON简单说就是javascript中的对象和数组,JSON的就由对象和数组构成,通过这两种结构可以表示各种复杂的数据。
1、对象
JavaScript 对象是拥有属性和方法的数据。在 JavaScript中,几乎所有的事物都是对象。对象也是一个变量,但对象可以包含多个值(多个变量)。可以说 "JavaScript 对象是变量的容器"。
创建 JavaScript 对象:
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
2、数组
数组对象是使用单独的变量名来存储一系列的值。数组也是一种对象。
创建一个数组:(方法之一)
var myCars=["Saab","Volvo","BMW"];
二、JSON 语法规则
- 数据为 键/值 对。
- 数据由逗号分隔。
- 大括号保存对象
- 方括号保存数组
创建一个JSON:
var txt = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
三、JSON→Javascript转换
JSON 转换为 JavaScript 对象有2个方法,一是JavaScript 函数 eval() ,二是JSON 解析器:JSON.parse()。
1、eval() 函数
语法:
eval(string)
由于eval的参数是字符串,必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt + ")");
而不是
var obj = eval (txt);
2、JSON.parse()
var obj = JSON.parse(text);
eval() 函数使用的是 JavaScript 编译器,它可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题,所以更安全的做法是使用JSON.parse()。
JSON 解析器只能识别 JSON 文本,而不会编译脚本,而且 JSON 解析器的速度更快。缺点是一些较老的浏览器并不原生的JSON 支持。