JSON规则
在JS语言中,一切都是对象。因此,任何支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
对象表示为键值对
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 键/值对
JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,
然后紧接着值
Example : {"firstName" : "Json"}
等价于这条JavaScript语句:
{firstName : "Json"}
{"one":{"name":"lisa"},"two":{"name":"tom","age":18}}
或者
[{"name":"lisa"},{"name":"tom","age":18}]
JSON具体6种value(值)
string:
字符串,必须要用双引号引起来。
number:
数值,与JavaScript的number一致,整数(不使用小数点或指数计数法)最多为 15 位,小数的最大位数是 17。
object:
JavaScript的对象形式,{ key:value }表示方式,可嵌套。
array:
数组,JavaScript的Array表示方式[ value ],可嵌套。
true/false:
布尔类型,JavaScript的boolean类型。
null:
空值,JavaScript的null。
JSON 与 JS 的关系
JSON 是 JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。
var obj = {a: 'Hello', b: 'World'};
这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}';
这是一个JSON字符串,本质是一个字符串
。
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'}
或者 eval()
解析XML
注意XML不需要解析,但是xhr.responseXML来接收XML,核心DOM可以操作XML