上一篇文章介紹了處理大量JavaScript對象的好選擇:JSON
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,它采用完全獨立於語言的文本格式,可替換XML成為AJAX程序中的數據交換格式。
它有兩種結構:
1. “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。
2. 值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。
JSON是JavaScript的子集,我們在JavaScript中可以很容易的使用它。
下面是官方網站上面提供的一個例子:
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
這個例子中,創建了一個對象,它只包含一個成員“bindings”。“bindings”中有一個包含了3個對象的數組,而這每個對象都有"ircEvent"、"method"和"regex"3個成員。
myJSONObject.bindings[0].method 的值是 "newURI"
JSON官方網站提供的一個開源的JSON解析器和字符串轉換器:json.js
string.parseJSON() 解析函數,它將JSON文本解析成object或者array,可以拋出一個語法錯誤的異常;
array.toJSONString(),
boolean.toJSONString() ,
date.toJSONString(),
number.toJSONString(),
object.toJSONString(),
string.toJSONString(): 這幾個函數可以生成JSON文本
下面寫一個簡單的解析和轉換的例子:
var str='["0","1"]';
var obj = str.parseJSON();
document.write(obj[0]);
document.write(obj[1]);
結果是01
var doc = new Array();
doc[0]='0';
doc[1]='1';
document.write(doc.toJSONString())
結果是["0","1"]