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