如何正確使用 JSON 緩存數(shù)據(jù)進(jìn)行說(shuō)明
下面介紹JSON 緩存數(shù)據(jù)是一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個(gè)子集。
JSON建構(gòu)于兩種結(jié)構(gòu):
“名稱/值”對(duì)的集合(A collection of name/value pairs)。不同的語(yǔ)言中,它被理解為對(duì)象(object),紀(jì)錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組 (associative array)。
值的有序列表(An ordered list of values)。在大部分語(yǔ)言中,它被理解為數(shù)組(array)。 這些都是常見的數(shù)據(jù)結(jié)構(gòu)。事實(shí)上大部分現(xiàn)代計(jì)算機(jī)語(yǔ)言都以某種形式支持它們。這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語(yǔ)言之間交換成為可能。
JSON具有以下這些形式:
對(duì)象是一個(gè)無(wú)序的“‘名稱/值’對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值’ 對(duì)”之間使用“,”(逗號(hào))分隔。
數(shù)組是值(value)的有序集合。一個(gè)數(shù)組以“[”(左中括號(hào))開始,“]”(右中括號(hào))結(jié)束。值之間使用“,”(逗號(hào))分隔。 字符串(string)是由雙引號(hào)包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。一個(gè)字符(character)即一個(gè)單獨(dú)的字符串(character string)。 字符串(string)與C或者Java的字符串非常相似。
每個(gè)應(yīng)用程序的開發(fā)都是為了解決某個(gè)領(lǐng)域的問(wèn)題。而每個(gè)領(lǐng)域都有自己的一套約束數(shù)據(jù)的規(guī)則和規(guī)范。應(yīng)用程序?qū)⑦@些約束應(yīng)用于數(shù)據(jù)時(shí),約束也就成了驗(yàn)證。所有應(yīng)用程序都需要驗(yàn)證用戶輸入的數(shù)據(jù)。
目前,應(yīng)用程序一般都使用 if-else 語(yǔ)句組合來(lái)驗(yàn)證數(shù)據(jù)。這些語(yǔ)句包含了開發(fā)人員硬編碼或通過(guò)服務(wù)器端代碼置入的驗(yàn)證數(shù)據(jù)。通常,開發(fā)人員會(huì)使用服務(wù)器端代碼來(lái)避免可能導(dǎo)致 JavaServer Page(JSP)的細(xì)微數(shù)據(jù)更改。#t#
您可以使用 JavaScript Object Notation(JSON)來(lái)分組和緩存元數(shù)據(jù),并使用 JavaScript 函數(shù)來(lái)訪問(wèn)元數(shù)據(jù)以驗(yàn)證用戶輸入。JavaScript 中有分散的元數(shù)據(jù)時(shí),您無(wú)法控制服務(wù)器將評(píng)估多少數(shù)據(jù)以及有多少數(shù)據(jù)傳遞到客戶機(jī)。所有服務(wù)器端代碼片段都將被評(píng)估并發(fā)送到服務(wù)器上。
但是,使用 JSON 緩存數(shù)據(jù)時(shí),您可以完全控制向客戶機(jī)發(fā)送的元數(shù)據(jù)量,因?yàn)榉?wù)器端代碼將生成JSON 緩存數(shù)據(jù)。這有助于僅將元數(shù)據(jù)發(fā)送至與看到或輸入數(shù)據(jù)的用戶相對(duì)應(yīng)的客戶機(jī)上。
您還可以使用 JSON 來(lái)緩存用戶輸入的數(shù)據(jù)。程序緩存數(shù)據(jù)后,將擦除數(shù)據(jù)字段而不是刷新屏幕,這與 Ajax 類似。通過(guò)這種方法,用戶可以為同一屬性輸入另一組數(shù)據(jù)。