我这里介绍的是使用 JSONTools(面向JAVA) 的反序列化程序。JSON在反序列化时,如果对象的属性中存在复杂对象时,需要对该属性指定类的定义,也就是在初始化JSONTools的时候,必须给泛型确切Class类型。

Sample Code:
public Class Data{ private String name; }
             public Class Block{ private Data abc; }

从以上可以看出 Class Block 就是复杂对象,在初始化JSONTools的时候,一定要给出类型。目前支持对象有复杂对象嵌套,例如  Block 的属性abc( Data 类型)

Sample Code:
tring json =" {abc:{"name":"alonely"))";
             JSONTools jsontools = JSONToolsFactory.getJsonTools();
             ArrayList obj = jsontools.fromJSON(json); 
//序列化一个对象到JSON String 
JSONTools jsontools = JSONToolsFactory.getJsonTools();
             ArrayList need2json = new ArrayList();
             String json = jsontools.toJSON(need2json);

Ok,现在大家是不是对JAVA中JSON的反序列化有一定了解了。

今天我续昨天的《讲解JAVA中JSON的反序列化》一文之后,讲解的是JAVAJSON的 JsonHttpResponse 的使用方法。其实 JSONTools 对 JAVA 中的 HttpServletResponse 封装主要支持两种类型功能:
1、接收客户端 POST 到服务器后,对客户端 Response,对于 POST 数据到服务器的请求,对 POST 的返回值
格式如下:

//按优先级别顺序执行
             succ: false //无优先级,无直接页面动作与之对应
script: "...." //优先级0,最高,默认值为null
nextURL: "...." //优先级1,默认值为null
actionID: null //优先级2,数字,null代表不执行(默认)
             actionArgs: {arg1:arg1Value, arg2: arg2Value} //优先级2,默认值为null
info: abc... //优先级3,长度大于0时弹出提示框,默认值为null
Sample Code:
JsonHttpResponse jsonResp = new JsonHttpResponse(res);
//jsonResp.setJsonRespCode(code);
             jsonResp.getJsonRespCode().setActionID(1);
             jsonResp.getJsonRespCode().pushActionArgs(name, "alonely blog");
             jsonResp.getJsonRespCode().pushActionArgs("type", true);
             jsonResp.getJsonRespCode().setInfo(“hello");
             jsonResp.getJsonRespCode().setNextURL("http:www.3y11.com");
             jsonResp.returnJson();

2、客户端向服务器请求数据,对客户端通过 Response 返回 Json 格式数据。

服务器在使用JSONTools序列化服务器对象实例后,直接调用 JsonHttpResponse.pushJsonVar(变量名,JSON字符串)  最后使用 returnJson 方法将多组 Json 数据发回给客户端。

Sample Code:
JsonHttpResponse jsonResp = new JsonHttpResponse(res);
             String out = " {abc:{"name":"alonely"))";
             jsonResp.pushJsonVar("tree", out); jsonResp.pushJsonVar("testData", out);
             jsonResp.returnJson();

OK,到现在为止 JSONTools 的基本使用已经讲解完毕了。