JSON(JavaScriptObject Notation)-JS對象表示法,是JavaScript的一個嚴格子集,它是一種開發式和基于文本的數據交換格式,因此JSON并不是JS獨有,其他很多語言也可以對JSON進行解析和序列化。
特點:
1.輕量級-易于閱讀和編寫,同時易于及其解析和生成
2.可表示類型:
(1)簡單值:字符串、數值、布爾值、null,不支持特殊值JS中的undefined
(2)對象
~~~
{
"user" : "Admin",
"age" : 25
}
~~~
(3)數組
`["Admin",25,true]`
## 常用格式
~~~
[
{
"user" : "Admin",
"age" : 25
},
{},{}
]
~~~
## 解析
將JSON字符串轉換為JavaScript值
~~~
<span style="font-size:18px;">var json = '[{"name" :"Admin","age" : 25},{"name" :"Forrest","age" : 24},{"name" :"LI","age" : 23}]';
var jx =JSON.parse(json);</span>
~~~
parse方法的可選參數:function(key,value)可用于處理鍵值對數據。
## 序列化
~~~
<pre name="code" class="html"><span style="font-size:18px;">var array = [
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>name : "Admin",
age : 25
},
{
name : "Forrest",
age : 24
},
{
name : "LI",
age : 23
}
];
var json = JSON.stringify(array);
alert(json);</span>
~~~
stringify方法的可選參數:第一個可選參數為函數(復雜處理)或數組用于過濾結果,第二個可選參數為是否在JSON中保留縮進。
## 總結
目前并沒有實質性的使用過JSON來處理數據,但作為一種常用的數據格式,很有必要在這里先提前學習下,對比于XML,JSON主要還是體現了它輕量級的優點。期待真正的應用與深入。