JSON:
com.abchina.dams.core.struts2.json.JSONUtil
序列化:String json = JSONUtil.serialize(user);//这个依赖于jackson,更简洁的依赖json-lib
反序列化:
UserObject user = JSONUtil.deserialize(json, UserObject.class);
如果反序列化为List,内部对象为xxxObject
JSONUtil.deserialize(json, List.class,xxxObject.class);
如果反序列化为Map,内部对象为String,xxxObject
JSONUtil.deserialize(json, map.class,String.class,xxxObject.class);
Struts2 JSON插件,自动将Struts2 Action中的对象自动序列化为JSON格式数据
root(必选参数) 指定了要序列化为JSON数据的对象为list,testVO
<param name="root">list,testVO</param>
有很多json插件org.codehaus.jackson
JSON天生是为JS准备的,基于txt格式
可以传输 String,Number,Boolean,数组,Object 对象
String,Number,Boolean
12345(整数),-3.9e10(浮点数),true、false 和 null 都没有双引号,否则将被视为一个 String。
数组:
["abc",12345,false,null]
对象:嵌套的复杂对象。
{"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
}
json自己的js处理json串。//如此的简单。
function handleJson() {
var j={"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
};
document.write(j.name);
document.write(j.address.city);
}
JSON--字符串--互相转换:
var jsonObject = eval("(" + jsonFormat + ")");
//圆括号:eval构造对象的语法。
JSON对象转换成字符串:
var js字符串 = JSON.stringify(json对象);
大部分Ajax 框架早已包含了处理 JSON 数据的能力
如果用数组的话可以这样
JScript codevar mainArray = [
{"tag" :"任务","num":2},
{"tag" :"工作" ,"num":6}
];
mainArray .push({
"tag":"开会","num":3
});
alert(mainArray [2].tag);
mainArray.shift();
alert(mainArray [1].tag);
纯JSON可以这样
JScript codevar json={
id:"id1",
name:"开心"
};
//add property
json["gender"]="男" json.age=26可以么?
json["age"]=26;
json[""+startKey+""]=startValue;//key,value都是变量
alert(json.age);
//delete property
delete json["age"];
alert(json.age);
alert(json.gender);