简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于存储和传输数据,JSON 是字符串。
JSON 不仅用于 JavaScript,JSON 是跨语言的,其广泛用于数据交换。
JSON 实例
{
"sites" : [
{ "name" : "Google", "url" : "www.google.com" },
{ "name": "Taobao", "url" : "www.taobao.com" }
],
"author" : "admin"
}
JSON 和 JavaScript 对象
JSON 是 JavaScript 对象的字符串表示法,它使用字符串文本表示一个对象的信息,本质上是一个字符串。
通常说的 JSON 对象,就是 JavaScript 对象,它不是真正意义上的 JSON。真正意义上的 JSON 的数据类型是字符串,不是对象。
通常所说的 JSON 字符串,才是 JSON 。
JSON 作为一种数据交换格式,为了保证其能被正确方便的解析,其格式有严格的要求,必须遵循以下规则:
- 简单类型的值只有四种:字符串、数值(十进制)、布尔值和 null。(不能使用 NaN、Infinity、 -Infinity 和 undefined)
- 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
- 字符串必须使用双引号表示,不能使用单引号。
- 对象的键名必须放在双引号里面。
- 数组或对象最后一个成员的后面,不能有逗号。
- 数值前不能加前导 0。
- 不能有注释。
JSON 转换为 JavaScript 对象
利用 JSON.parse() 方法:
var json = '{"a": "Hello", "b": "World"}';
console.log( JSON.parse( json ) );
输出结果: { a: 'Hello', b: 'World' }
在 jQuery 中,还可以使用 $.parseJSON 把 JSON 格式的字符串转换为 JavaScript 对象。
JavaScript 对象转换为 JSON
利用 JSON.stringify() 方法:
var obj = { a: 'Hello', b: 'World' };
console.log( JSON.stringify( obj ) );
输出结果:{"a":"Hello","b":"World"}