掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
轉(zhuǎn)換JSON包含一個人類和計算機都能識別的混合信息集合。人類可讀內(nèi)容的恰當(dāng)呈現(xiàn),如條目標(biāo)題、分類標(biāo)簽、鏈接標(biāo)題、權(quán)限描述等等,依賴于一種在轉(zhuǎn)換為轉(zhuǎn)換JSON過程中必須正確保存的語言上下文。

如果您閱讀了本系列前面的文章,那么應(yīng)已對數(shù)據(jù)格式有了相當(dāng)?shù)恼J(rèn)識。前面的文章解釋了在許多異步應(yīng)用程序中如何恰當(dāng)?shù)厥褂眉兾谋竞秃唵蔚拿Q/值對。可以將數(shù)據(jù)組合成下面這樣的形式:
這樣就行了,不需要再做什么了。實際上,Web 老手會意識到通過 GET 請求發(fā)送的信息就是采用這種格式。
然后,本系列討論了 XML。顯然,XML 得到了相當(dāng)多的關(guān)注(正面和負(fù)面的評價都有),已經(jīng)在 Ajax 應(yīng)用程序中廣泛使用。關(guān)于如何使用 XML 數(shù)據(jù)格式,可以回顧 本系列前面的文章:
Brett firstName> McLaughlin lastName> [email protected] email> request>
這里的數(shù)據(jù)與前面看到的相同,但是這一次采用 XML 格式。這沒什么了不起的;這只是另一種數(shù)據(jù)格式,使我們能夠使用 XML 而不是純文本和名稱/值對。
本文討論另一種數(shù)據(jù)格式,JavaScript Object Notation(JSON)。轉(zhuǎn)換JSON看起來既熟悉又陌生。它提供了另一種選擇,選擇范圍更大總是好事情。
- { "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" },
- { "firstName": "Jason", "lastName":"Hunter", "email": "[email protected]" },
- { "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }]}
在使用名稱/值對或 XML 時,實際上是使用 JavaScript 從應(yīng)用程序中取得數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)換成另一種數(shù)據(jù)格式。在這些情況下,JavaScript 在很大程度上作為一種數(shù)據(jù)操縱語言,用來移動和操縱來自 Web 表單的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換為一種適合發(fā)送給服務(wù)器端程序的格式。
但是,有時候 JavaScript 不僅僅作為格式化語言使用。在這些情況下,實際上使用 JavaScript 語言中的對象來表示數(shù)據(jù),而不僅是將來自 Web 表單的數(shù)據(jù)放進請求中。在這些情況下,從 JavaScript 對象中提取數(shù)據(jù),然后再將數(shù)據(jù)放進名稱/值對或 XML,就有點兒多此一舉 了。#t#
這時就合適使用 JSON:轉(zhuǎn)換JSON允許輕松地將 JavaScript 對象轉(zhuǎn)換成可以隨請求發(fā)送的數(shù)據(jù)(同步或異步都可以)。轉(zhuǎn)換JSON并不是某種魔彈;但是,它對于某些非常特殊的情況是很好的選擇。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流