Posted on 2009-06-01 13:33
Qzi 阅读(350)
评论(0) 编辑 收藏 所属分类:
javascript
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;