掌握Ajax,第11部分: 伺服器端的JSON

來源:互聯網
上載者:User

在伺服器端指令碼和程式中用 JSON 進行響應和回複

簡介:在 本系列最近發表的一篇文章中,您已經瞭解了如何將 JavaScript 對象轉變成 JSON 格式。 這種格式很容易用於發送(和接收)與對象甚至對象數組對應的資料。在 本系列 的最後一篇文章中,您 將會學習如何處理以 JSON 格式發送到伺服器的資料以及如何使用相同格式對指令碼進行回複。

JSON 的真正價值

正如在 本系列上一篇文章 中所描述的那樣,JSON 是適用於 Ajax 應用程式的一種有效格式,原因是 它使 JavaScript 對象和字串值之間得以快速轉換。由於 Ajax 應用程式非常適合將純文字發送給服務 器端程式並對應地接收純文字,相比不能產生文本的 API,能產生文本的 API 自然更可取;而且,JSON 讓您能夠處理本地 JavaScript 對象,而無需為如何表示這些對象多費心思。

XML 也可以提供文本方面的類似益處,但用於將 JavaScript 對象轉換成 XML 的幾個現有 API 沒有 JSON API 成熟;有時,您必須在建立和處理 JavaScript 對象時格外謹慎以確保所進行的處理能與所選 用的 XML 會話 API 協作。但對於 JSON,情況就大不相同:它能處理幾乎所有可能的物件類型,並會返 回給您一個非常好的 JSON 資料表示。

因此,JSON 的最大價值在於可以將 JavaScript 真的作為 JavaScript 而非資料格式語言進行處理。 您所學到的所有有關使用 JavaScript 對象的技巧都可以應用到代碼中,而無需為如何將這些對象轉變成 文本而多費心思。這之後,可以進行如下所示的簡單 JSON 方法調用:

String myObjectInJSON = myObject.toJSONString();

現在就可以將結果文本發送給伺服器了。

將 JSON 發給伺服器

將 JSON 發給伺服器並不難,但卻至關重要,而且還有一些重要的選擇要做。但是,一旦決定使用 JSON,所要做的這些選擇就會十分簡單而且數量有限,所以您需要考慮和關注的事情不多。重要的是能夠 將 JSON 字串發送給伺服器,而且最好能做到儘快和儘可能簡單。

通過 GET 以成對的名稱和數值發送 JSON

將 JSON 資料發給伺服器的最簡單方法是將其轉換成文本,然後以成對的名稱和數值的值的方式進行發送。請 務必注意,JSON 格式的資料是相當長的一個對象,看起來可能會如清單 1 所示:

清單 1. JSON 格式的簡單 JavaScript 對象

var people = { "programmers": [  { "firstName": "Brett", "lastName":"McLaughlin",
"email": "brett@newInstance.com" },  { "firstName": "Jason", "lastName":"Hunter",
"email": "jason@servlets.com" },  { "firstName": "Elliotte", "lastName":"Harold",
"email": "elharo@macfaq.com" }  ], "authors": [  { "firstName": "Isaac",
"lastName": "Asimov", "genre": "science fiction" },  { "firstName": "Tad",
"lastName": "Williams", "genre": "fantasy" },  { "firstName": "Frank",
"lastName": "Peretti", "genre": "christian fiction" }  ], "musicians": [  
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, 
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }  ] }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.