對(duì)于JSON與XML只見(jiàn)問(wèn)題進(jìn)行學(xué)習(xí)探討
JSON與XML的另一個(gè)差別是屬性的差異,由于JSON采用冒號(hào)賦值,這將導(dǎo)致當(dāng)XML轉(zhuǎn)化為 JSON時(shí),在標(biāo)識(shí)符(XML CDATA)與實(shí)際屬性值之間很難區(qū)分誰(shuí)應(yīng)該被當(dāng)作文本考慮。
JSON與XML一樣也是一種簡(jiǎn)單文本格式。相對(duì)于XML,它更加易讀、更便于肉眼檢查。在語(yǔ)法的層面上,JSON與其他格式的區(qū)別是在于分隔數(shù)據(jù)的字符,JSON中的分隔符限于單引號(hào)、小括號(hào)、中括號(hào)、大括號(hào)、冒號(hào)和逗號(hào)
- JSON實(shí)例{"addressbook": {"name": "Mary Lebow",
- "address": {
- "street": "5 Main Street"
- "city": "San Diego, CA",
- "zip": 91912,
- },
- "phoneNumbers": [
- "619 332-3452",
- "664 223-4667"
- ]
- }
JSON的另一個(gè)優(yōu)點(diǎn)是它的非冗長(zhǎng)性。在XML中,打開(kāi)和關(guān)閉標(biāo)記是必需的,這樣才能滿(mǎn)足標(biāo)記的依從性;而在JSON中,所有這些要求只需通過(guò)一個(gè)簡(jiǎn)單的括號(hào)即可滿(mǎn)足。在包含有數(shù)以百計(jì)字段的數(shù)據(jù)交換中,傳統(tǒng)的XML標(biāo)記將會(huì)延長(zhǎng)數(shù)據(jù)交換時(shí)間。目前還沒(méi)有正式的研究表明JSON比XML有更高的線(xiàn)上傳輸效率;
人們只是通過(guò)簡(jiǎn)單的字節(jié)數(shù)比較發(fā)現(xiàn),對(duì)于等效的JSON和XML有效負(fù)載,前者總是小于后者。至于它們之間的差距有多大,特別是在新的XML壓縮格式下它們的差距有多大,有待進(jìn)一步的研究。這將開(kāi)創(chuàng)一條比DOM技術(shù)更為便捷的數(shù)據(jù)訪問(wèn)途徑。下面列舉幾個(gè)JavaScript代碼片段來(lái)說(shuō)明這一過(guò)程,這些代碼片段會(huì)訪問(wèn)先前的JSON代碼片段中的信息:
JSON與XML的另一個(gè)優(yōu)點(diǎn)是它的非冗長(zhǎng)性。在XML中,打開(kāi)和關(guān)閉標(biāo)記是必需的,這樣才能滿(mǎn)足標(biāo)記的依從性;而在JSON中,所有這些要求只需通過(guò)一個(gè)簡(jiǎn)單的括號(hào)即可滿(mǎn)足。在包含有數(shù)以百計(jì)字段的數(shù)據(jù)交換中,傳統(tǒng)的XML標(biāo)記將會(huì)延長(zhǎng)數(shù)據(jù)交換時(shí)間。#t#
目前還沒(méi)有正式的研究表明JSON與XML有更高的線(xiàn)上傳輸效率;人們只是通過(guò)簡(jiǎn)單的字節(jié)數(shù)比較發(fā)現(xiàn),對(duì)于等效的JSON和XML有效負(fù)載,前者總是小于后者。至于它們之間的差距有多大,特別是在新的XML壓縮格式下它們的差距有多大,有待進(jìn)一步的研究。