json

JavaScript的延伸,可通過(guò)eval()處理JSON字符串;
數(shù)據(jù)傳輸快,網(wǎng)絡(luò)占用小;

語(yǔ)法

對(duì)象

  • JSON對(duì)象在{}中書(shū)寫(xiě);
  • 對(duì)象可以包含多個(gè)key:value;
  • key必須是字符串,value可以使合法的JSON數(shù)據(jù)類(lèi)型,(串、數(shù)字、對(duì)象、數(shù)組、布爾或null);
  • key使用:分割;
  • 每個(gè)key/value使用逗號(hào)(,)分割;
    數(shù)組
{
"sites": [
{ "name":"github" , "url":"www.github.com" }, 
{ "name":"google" , "url":"www.google.com" }, 
{ "name":"微博" , "url":"www.weibo.com" }
]
}

對(duì)象數(shù)組

var sites = [
    { "name":"github" , "url":"www.github.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
];

*訪(fǎng)問(wèn):sites[0].name;——>github
*修改數(shù)據(jù):sites[0].name="blog";
文件類(lèi)型

  • JSON 文件的文件類(lèi)型是 ".json"
  • JSON 文本的 MIME 類(lèi)型(描述消息內(nèi)容類(lèi)型的因特網(wǎng)標(biāo)準(zhǔn))是"application/json"
    訪(fǎng)問(wèn)
  • 訪(fǎng)問(wèn)對(duì)象
    對(duì)象.key或者對(duì)象[key]
  • 訪(fǎng)問(wèn)數(shù)組
    myObj.sites[0]
  • 循環(huán)對(duì)象
    for in
for (x in myObj) {
    document.getElementById("demo").innerHTML += x + "<br>";
}
  • 嵌套JSON對(duì)象
    使用點(diǎn)號(hào)(.)或者中括號(hào)([])來(lái)訪(fǎng)問(wèn)嵌套的 JSON 對(duì)象

x = myObj.sites.site1;
// 或者
x = myObj.sites["site1"];

  • 修改JSON值
    myObj.sites.site1 = "www.google.com";
  • 刪除JSON值
    delete myObj.sites.site1;

數(shù)組

語(yǔ)法:

[]中書(shū)寫(xiě),其包含合法的JSON數(shù)據(jù)類(lèi)型(字符串、數(shù)字、對(duì)象、數(shù)組、布爾、null)其中還可以是JS表達(dá)式函數(shù)、日期、(未定義)undefined

  • 對(duì)象中的數(shù)組
<p id="demo"></p>
<script>
var myObj, x;
myObj = {
    "name":"網(wǎng)站",
    "num":3,
    "sites":[ "Google", "Runoob", "Taobao" ]
}
x = myObj.sites[1];
document.getElementById("demo").innerHTML = x;
</script>
  • 循環(huán)數(shù)組
myObj = {
    "name":"網(wǎng)站",
    "num":3,
    "sites":[ "Google", "Runoob", "Taobao" ]
}
for (i in myObj.sites) {
    x += myObj.sites[i] + "<br>";
}
document.getElementById("demo").innerHTML = x ;

或者

for (i = 0; i < myObj.sites.length; i++) {
    x += myObj.sites[i] + "<br>";
}
  • 嵌套 JSON 對(duì)象中的數(shù)組
myObj = {
    "name":"網(wǎng)站",
    "num":3,
    "sites": [
        { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻譯" ] },
        { "name":"Runoob", "info":[ "菜鳥(niǎo)教程", "菜鳥(niǎo)工具", "菜鳥(niǎo)微信" ] },
        { "name":"Taobao", "info":[ "淘寶", "網(wǎng)購(gòu)" ] }
    ]
}

遍歷

for (i in myObj.sites) {
    x += "<h1>" + myObj.sites[i].name + "</h1>";
    for (j in myObj.sites[i].info) {
        x += myObj.sites[i].info[j] + "<br>";
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容