json是什么郎逃?其實很簡單秽之,json(JavaScript Object Notation)javaScript 對象表示法 是一種存儲數(shù)據(jù)的方式,json比xml更快更好用
xml和json類似之處:
JSON 是純文本
JSON 具有“自我描述性”(人類可讀)
JSON 具有層級結(jié)構(gòu)(值中存在值)
JSON 可通過 JavaScript 進(jìn)行解析
JSON 數(shù)據(jù)可使用 AJAX 進(jìn)行傳輸
xml和json不同之處:
沒有結(jié)束標(biāo)簽
更短
讀寫的速度更快
能夠使用內(nèi)建的 JavaScript eval() 方法進(jìn)行解析
使用數(shù)組
不使用保留字
第一步:創(chuàng)建json對象
var xiaomin = { "name" : "小敏", "age" : 6};
這樣就創(chuàng)建了一個JSON 對象
JSON對象由 名稱/值對組成 名稱和值之間用冒號:隔開
名稱必須用雙引號" 包含起來
值可以是任意javascript數(shù)據(jù)類型吵聪,字符串提岔,布爾宰僧,數(shù)字 ,數(shù)組甚至是對象
不同的名稱/值對之間用 逗號 , 隔開
注意這里:xiaomin是一個對象D小>跬础!
第二步:訪問json對象
<script>
var xiaomin = { "name" : "小敏", "age" : 6};
document.write("名字: " + xiaomin.name + "<br>");
document.write("年齡: " + xiaomin.age + "<br>");
</script>
json數(shù)組的創(chuàng)建茵休,訪問(和訪問數(shù)組的方式一樣薪棒,通過下標(biāo))
//創(chuàng)建json數(shù)組
var heros=
[
{"name":"蓋倫","hp":616},
{"name":"提莫","hp":313},
{"name":"死哥","hp":432},
{"name":"火女","hp":389}
]
//訪問數(shù)組
document.write( "第4個英雄是:" + heros[3].name);
結(jié)果是:火女
第三步:json字符串與javascript對象的轉(zhuǎn)換
eval() 函數(shù)使用的是 JavaScript 編譯器,可解析 JSON 文本榕莺,然后生成 JavaScript 對象俐芯。必須把文本包圍在括號中,這樣才能避免語法錯誤:
<script type="text/javascript">
var txt = '{"employees":[' +
'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"George","lastName":"Bush" },' +
'{"firstName":"Thomas","lastName":"Carter" }]}';
var obj = eval ("(" + txt + ")");//一句話搞定
document.getElementById("fname").innerHTML=obj.employees[1].firstName
document.getElementById("lname").innerHTML=obj.employees[1].lastName
</script>