?
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);