【Json】JSONObejct格式转化问题
2017-06-28 18:00
369 查看
1.问题:
为什么JSONObject类型不能转化为实体类对象?Exception in thread “main” java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.fxrj.email.model.EmailRecDecMesInfo
2.源代码:
String json="fnSuc_getNews( {"code":"S_OK", "errorCode":"", "summary":"", "var":[{"corpId":1000, "createTime":1498617027512, "messageFrom":0, "messageInfo":{"content":"你好"}, "userId":"yunya-guo"}, {"corpId":1000, "createTime":1498617027522, "messageFrom":3, "messageInfo":{"content":"世界"}, "messageState":0, "messageType":1, "userId":"yunya-guo"} ]})"; JSONObject jo= (JSONObject) JSON.parse(json);/*解析成doc格式*/ System.out.println("jo:"+jo); JSONArray array=jo.getJSONArray("var"); List<EmailReceivedDetail> listEDetail=new ArrayList<>(); for (Object object:array.toArray()) { EmailReceivedDetail erd = new EmailReceivedDetail(); JSONObject jsonObject=(JSONObject) object; erd.setCorpId((Integer) jsonObject.get("corpId")); erd.setCreateTime((Long) jsonObject.get("createTime")); erd.setMessageFrom((Integer) jsonObject.get("messageFrom")); erd.setMessageInfo(((EmailRecDecMesInfo) jsonObject.get("messageInfo"))); //System.out.println("messageInfo:"); erd.setMessageState((Integer) jsonObject.get("messageState")); erd.setMessageType((Integer) jsonObject.get("messageType")); erd.setUserId((String) jsonObject.get("userid")); } }
3.截图:
4.总结:
1、这里要明确,一层一层取的意义;①jsonObject.get(“messageInfo”),这里取出来的是一个value,是通过key取得的值;
②(JSONObject)jsonObject.get(“messageInfo”)是把通过messageInfo这个key取出来的值,转化为JSONObject,即转化成json实体;
③((JSONObject)jsonObject.get(“messageInfo”)).get(“content”)是把原来第一层json对象的值,转化成json后,再通过key(“content”)获得其对应的值value;
④(String)((JSONObject)jsonObject.get(“messageInfo”)).get(“content”)把第二层json对象的值变成String类型,然后setContent;
相关文章推荐
- 关于Json格式中时间格式转化问题
- json格式的数据,和将数组转化成json对象问题
- java处理http发送的数据转化为json格式并返回遇到的问题
- DataSet(DataTable)转化为json格式
- 用C#实现多叉树的生成并转化为extjs(基于js脚本的ajax UI框架)的TreeNode的json数据格式(格式为Id,Pid,Text)
- Ext2.2与Struts2集成,使用Json数据格式传输数据问题
- ajax打印对象时,转换由java对象转为Json格式的String时遇到的Hibernate问题
- JSON格式问题
- 关于jQuery1.4.2的json格式问题
- 使用eval()解析JSON格式字符串应注意的问题
- JQuery 将json 转化成xml 格式的数组
- 将字符串转化成日期格式的问题?
- access中,有无将文本类型的数据格式转化成数值型的函数?(解决 order by 的非数字排序问题)
- 转:jQuery1.4.2与json格式兼容问题
- datatable,ilist ,list,转化为json格式
- 将对象序列化为json格式时遇见的问题
- 对将‘47 ’转化为int格式错误的问题解决
- 时间格式转化的问题的解决方案
- SVG与RTF格式转化问题
- jQuery1.4.2与json格式兼容问题 (转载)