如: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);