如:5或者"hello World!"json
注意区分js对象字面量与JSON对象。数组
JS对象字面量:固然也能够给属性名加"" var person = { name:"dadaoshenyi", age:"25" } JSON对象表示: { "name":"dadaoshenyi", "age":"25" }
JS数组字面量: var values = [25 ,"hi",true]; JSON数组表示:一样的语法,固然数组之中能够嵌套对象 [25 ,"hi",true] 多层嵌套的数据结构最经常使用,以下表示返回的data { "name":"dadaoshenyi", "list":[{ "title":"title1", "pic":"url1" },{ "title":"title2", "pic":"url2" }, ...], "age":"25", ... }
使用与js对象同样的方法来获取属性值。数据结构
早起的JSON解析器都是使用JavaScript的eval()函数。函数
ES5对JSON的解析进行了规范,定义了全局对象JSON。url
主要方法两个以下:spa
value: 要转换的原生js值;code
replacer:过滤条件,能够是一个值,也能够是个函数;对象
space:能够是一个数字表示缩紧的空格数,也能够是制表符如"--"。除了好看一点彷佛没有用途。blog
text:要解析的jsonText文本;ip
reviver:还原函数,对结果的每一个键值对都调用一次。
var jsonStr = JSON.stringify({ name:"dadaoshenyi", list:[{ title:"title1", pic:"url1" },{ title:"title2", pic:"url2" }], age:"25" }); console.log(jsonStr); var obj = JSON.parse(jsonStr); console.log(obj);