詳細介紹JSON 幫助使用及其說明
您在本文中看到了 JSON 的強大用途。歸結(jié)如下: JSON 提供了一種優(yōu)秀的面向?qū)ο蟮姆椒ǎ员銓⒃獢?shù)據(jù)緩存到客戶機上。 JSON 幫助分離了驗證數(shù)據(jù)和邏輯。 JSON 幫助為 Web 應(yīng)用程序提供了 Ajax 的本質(zhì)。
- function addVehicleData() {
- var brand = //get vehicle brand; var regNo = //get registration number;
- var cc = //get cc;
- vehicleData[vehicleData.length] = new Object();
- vehicleData[vehicleData.length].brandName = new Object();
- vehicleData[vehicleData.length].brandName = brand;
- //same way update other two properties
- }
在這里,vehicleData 是用于在用戶裝入頁面時進行初始化的 JavaScript 變量。它被初始化為一個新的數(shù)組對象,該數(shù)組對象為空或者含有用戶先前輸入的車輛的車輛元素。
當此函數(shù)將數(shù)據(jù)保存到 JavaScript 對象中后,程序可以調(diào)用另一個函數(shù)來清空輸入字段以允許用戶輸入新數(shù)據(jù)。
在此類應(yīng)用程序中,要求用戶輸入出現(xiàn)次數(shù)最少或出現(xiàn)次數(shù)最多的多組或多值屬性。您可以將這些限制置入 JSON 元數(shù)據(jù)對象中。在這種情況下,先前的元數(shù)據(jù)對象將變?yōu)?清單 6 中所示的代碼。
- var vehicleValidationsMetadata = {
- "MIN_OCC":{0},
- "MAX_OCC":{10},
- "MAX_OCC_MSG":{"...."},
- "MIN_OCC_MSG":{".....},
- //Everything else is the same
- }
然后,addVehicleData() 函數(shù)將先驗證數(shù)據(jù)的出現(xiàn)次數(shù),然后在僅當總出現(xiàn)次數(shù)未超出允許的限制時再將數(shù)據(jù)添加到 JavaScript 對象中。清單 7 顯示了檢查方法。
- function addVehicleData() {
- if(vehicleData.length == vehicleValidationsMetadata.MAX_OCC-1) {
- alert(vehicleValidationsMetadata.MAX_OCC_MSG);
- } //Everything else is the same
- }
當用戶提交一個頁面時調(diào)用的函數(shù)實際上用于驗證最少的出現(xiàn)次數(shù)。這種方法的***好處是屏幕不需要刷新以輸入新車輛數(shù)據(jù)。提供此類靜態(tài)屏幕曾經(jīng)是 Ajax 技術(shù)的主要目標,而您現(xiàn)在用 JSON 也能完成此目標。這是關(guān)于更新 JSON 幫助對象和通過 JavaScript 處理 HTML DOM 樹的全部內(nèi)容。用戶響應(yīng)時間是最小值,因為所有操作僅在客戶端上執(zhí)行。您可以使用 JSON 來為應(yīng)用程序提供 Ajax 功能。#t#
當用戶單擊 Save 按鈕時,程序?qū)⒄{(diào)用另一個 JavaScript 函數(shù),該函數(shù)將把此 JSON 對象 字符串化 并將其存儲到程序提交到服務(wù)器上的隱藏表字段中。JSON.js(請參閱 參考資料)有一個 JSON.stringify() 函數(shù),該函數(shù)將獲取 JavaScript 對象作為輸入并返回字符串輸出。
服務(wù)器端必須能夠理解 JSON 幫助的字符串并生成一個服務(wù)器端對象,以處理和保存數(shù)據(jù)。Web 站點 http://www.json.org/java/index.html 提供了一個 Java API,該 API 用于處理基于 Java 的應(yīng)用程序的大部分需求。