日期:2014-05-16  浏览次数:20312 次

json-总结

?

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