JSONObject 转换 JSON复杂对象
来源:互联网 发布:人工智能语音机器人 编辑:程序博客网 时间:2024/05/22 15:16
转载:JSONObject 转换 JSON复杂对象
Bean定义:
public class GetM100DataResponse { private String service;//接口代码 private String sessionId;//会话Id private String errorCode;//错误码 private String errorMsg;//错误消息 private String summary;//摘要 private List<M100DataObject> dataPoints; //数据列表 //get set 略}
public class M100DataObject { private String dataType; //数据类型 String private String sendDateTime; //发送时间 String private M100DataObjectKV dataKV; //数值对象 Object private String serviceNo; //用户服务号 String private Integer userSeq; //用户序号 Integer private String eqmtNo; //设备号 String //get set 略}
JSON字符串:
{ "dataPoints":[ { "dataKV":{ "pulse":"103", "measurementTime":"2015-12-02 12:06:32", "low":"91", "high":"126", "id":"d750fed2-0c95-4722-92ac-3078fa34390b" }, "dataType":"1", "eqmtNo":"", "sendDateTime":"2015-12-02 12:06:33", "serviceNo":"5716b0badb4b426cbfaaebb1be7d57b3", "userSeq":"1" } ], "diagResult":"", "errorCode":"1", "errorMsg":"成功!", "propose":"", "service":"GET_M100_DATA", "sessionId":"1", "summary":""}
转换代码如下:
public static JsonConfig getDecodeJSONConfig(){ JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(String.class, new JsonValueProcessor() { public Object processArrayValue(Object value, JsonConfig arg1) { // TODO Auto-generated method stub return process(value); } public Object processObjectValue(String key, Object value, JsonConfig arg2) { // TODO Auto-generated method stub return process(value); } public Object process(Object value) { try { if (value instanceof String) { return URLDecoder.decode(value.toString(),"UTF-8"); } return value == null ? "" : value.toString(); } catch (Exception e) { return ""; } } } ); return jsonConfig;}public GetM100DataResponse parseData(String resData){//resData为JSON字符串 JsonConfig jsonConfig = getDecodeJSONConfig(); JSONObject json = JSONObject.fromObject(resData, jsonConfig); /* * 在JSONObject.toBean的时候,如果转换的类中有集合, * 可以先定义:Map<String, Class> classMap = new HashMap<String, Class>(); * 然后在classMap中put你要转换的类中的集合名,如: */ Map<String, Class> classMap = new HashMap<String, Class>(); classMap.put("dataPoints", M100DataObject.class);//dataPoints 为 属性名称 /* * 然后在toBean()的时候把参数加上, 如: */ GetM100DataResponse response = (GetM100DataResponse)JSONObject.toBean(json, GetM100DataResponse.class, classMap); return response;}
阅读全文
0 0
- JSONObject 转换 JSON复杂对象
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- JSONObject.fromObject--JSON与对象的转换
- C# JsonObject Json格式与Json对象相互转换
- jquery转换json对象为字符串JSON.stringify(jsonObject)
- 使用json-lib jsonObject 把json 转换成 java对象
- org.json.JSONObject将对象转换成json
- jackson 与复杂对象的json转换
- 包含复杂类型的对象转换json
- json字符串 与jsonObject对象的相互转换
- JSON解析之JSONObject对象---js对象转换成java对象
- JSON解析之JSONObject对象---js对象转换成java对象
- HMM学习最佳范例: 前向算法(Forward Algorithm)
- nginx问题定位之监控进程异常退出
- 禁用一个右下角广告弹窗的程序 popwndexe.exe
- 【MyEclipse】常用快捷键和功能设置
- hdu1698线段树
- JSONObject 转换 JSON复杂对象
- Java关于流的使用
- 拨号上网设置定时自动断网重连
- netty分割符和定长解码器的应用
- MySql 中 一次update更新多条数据
- eclips添加testNG框架
- 从url中提取域名的几种方法
- 翻转后的棋盘
- Android P2P 连接对话框按键