讲解JAVA中JSON的反序列化
Posted dainiao01
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了讲解JAVA中JSON的反序列化相关的知识,希望对你有一定的参考价值。
我这里介绍的是使用 JSONTools(面向JAVA) 的反序列化程序。JSON在反序列化时,如果对象的属性中存在复杂对象时,需要对该属性指定类的定义,也就是在初始化JSONTools的时候,必须给泛型确切Class类型。
Sample Code: public Class Data{ private String name; } public Class Block{ private Data abc; } |
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); |
今天我续昨天的《讲解JAVA中JSON的反序列化》一文之后,讲解的是JAVA版JSON的 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(); |
服务器在使用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(); |
以上是关于讲解JAVA中JSON的反序列化的主要内容,如果未能解决你的问题,请参考以下文章