1.Json的對(duì)象形式
{
property0 : true, //property0是一個(gè)布爾型的值
property1 : 0, //property1是一個(gè)數(shù)值型的值
property2 : "123", //property2是一個(gè)字符串型的值
property3 : function(){...} //property3是一個(gè)函數(shù)
}
使用key-value對(duì)構(gòu)造json對(duì)象,注意屬性的key和value使用“:”分開(kāi),屬性之間使用“,”分開(kāi),注意最后的屬性沒(méi)有“,”,什么符號(hào)都不要有。將此結(jié)構(gòu)直接賦值給js的對(duì)象,則可以使用這個(gè)對(duì)象調(diào)用這些屬性。
例如:var obj1 = {
property0 : true, //property0是一個(gè)布爾型的值
property1 : 0, //property1是一個(gè)數(shù)值型的值
property2 : "123", //property2是一個(gè)字符串型的值
property3 : function(){...}, //property3是一個(gè)函數(shù)
property4 : { p1 : p1Value, p2 : p2Value } //property4本身又是一個(gè)對(duì)象
}
那么可以調(diào)用
alert(obj1.property0);
obj1.property3();
……
在Java Web開(kāi)發(fā)中,服務(wù)端負(fù)責(zé)輸出這串字符到j(luò)sp頁(yè)面的js,就可以使用了。
關(guān)鍵的是,字符串中可能具有js需要避免的特殊字符,建議查看一下spring的JavascriptUtils的javaScriptEscape方法就知道如何做啦
如果是Ajax調(diào)用的話(huà),就是用prototype庫(kù)的方法,將字符串轉(zhuǎn)換為json對(duì)象
new Ajax.Request("
http://url/", {
method: "get",
onSuccess: function(transport) {
var json = transport.responseText.evalJSON();
// TODO: document.write(json.xxx);
}
prototype庫(kù)的官網(wǎng):
http://prototypejs.org/
});
2. Json的數(shù)組形式
其實(shí)js中的數(shù)組更像是一個(gè)Map對(duì)象,因?yàn)樗膋ey不只是整數(shù),還可以是字符串。
var array;
array["key0"] = key0Value;
array["key1"] = key1Value;