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