简单的json和bean转换直接用:

public static void main(String[] args) {
String s = "{'request': [{'orderCode': 'HOJY20170226000074-O-0','cancelReason': '没有原因'},{'orderCode': 'HOJY20170226000074-O-1','cancelReason': '有原因'}]}";
JSONObject jb = JSONObject.fromObject(s);
JSONArray ja = jb.getJSONArray("request");
String orderCode = ja.getJSONObject(1).getString("orderCode");
String cancelReason = ja.getJSONObject(1).getString("cancelReason");
System.out.println(cancelReason+"-----"+orderCode);
}
输出结果:有原因-----HOJY20170226000074-O-1

--------------------------------------复杂模式,对象里面有list,比如ReturnOrderDO里面有属性A,B,属性B里面的属性是List<C>,这样直接转就不行报错了,需要用classmap------------------------------------------------------

  public static void main(String[] args) {
String s = "{'request': [{'returnOrder': {'returnOrderCode': 'RK131','warehouseCode': 'SunEee01'},'orderLines': {'orderLine':[{'ownerCode': 'ownerCode01','itemCode':'itemCode01','planQty': 100},{'ownerCode': 'ownerCode02','itemCode':'itemCode02','planQty': 100}]}}]}"; JSONObject jb = JSONObject.fromObject(s);
JSONArray ja = jb.getJSONArray("request");
List<ReturnOrderDO> list = JSONArray.toList(ja,ReturnOrderDO.class); for(ReturnOrderDO one:list){
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("orderLine", OrderLine.class); ReturnOrderDO ss = (ReturnOrderDO) JSONObject.toBean(JSONObject.fromObject(one),ReturnOrderDO.class,classMap);
System.out.println(ss.getOrderLines().getOrderLine().get(0).getOwnerCode());
}}

【明哥报错簿】之json转换报错---net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXXDO的更多相关文章

  1. json学习系列(5)-json错误解析net.sf.ezmorph.bean.MorphDynaBean cannot be cast to

    最近在使用json的时候,报了下面的错误: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.lang.String 这种错误非常常见, ...

  2. json解析出现:java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXX

    感谢大佬:https://blog.csdn.net/one_ink/article/details/99817676 一.出错原因 当我们利用json解析中的toBean方法时,如果它的属性里面包含 ...

  3. JSON字符串转JavaBean,net.sf.ezmorph.bean.MorphDynaBean cannot be cast to ……

    在json字符串转java bean时,一般的对象,可以直接转,如:一个学生类,属性有姓名.年龄等 public class Student implements java.io.Serializab ...

  4. json 字符串包含数组转换为object对象是报异常java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to

    前台传到后台的json字符串 前台实现这种格式json字符串方式: function contentFun(){ respType = respTypeFun(); return "{\&q ...

  5. List转换成JSON对象报错(三)

    List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/e ...

  6. 导入json文件报错,TypeError expected string or buffer

    导入json文件报错,TypeError expected string or buffer 原因:用字符串赋值后,python会把双引号转换为单引号 import json data = [{&qu ...

  7. json.loads 报错 json.decoder.JSONDecodeError

    json.loads报json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes 出现这个错误其实只 ...

  8. C#将XML转换成JSON转换XML

    原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using Syste ...

  9. .NET JSON 转换 Error ” Self referencing loop detected for type“

    在进行实体转换为Json格式报错如下图: Self referencing loop detected for property 'md_agent' with type 'System.Data.E ...

随机推荐

  1. Centos安装man功能

    CentOS接触很久了,但是一直作为服务器端使用.这次之所以安装man,是由于开始学习Nginx了. 言归正传,安装man,首先得下载包.由于我们天朝的原因,代码包几乎下不到的.首先你得FQ,再下载, ...

  2. JS的发布订阅模式

    JS的发布订阅模式 这里要说明一下什么是发布-订阅模式 发布-订阅模式里面包含了三个模块,发布者,订阅者和处理中心.这里处理中心相当于报刊办事大厅.发布者相当与某个杂志负责人,他来中心这注册一个的杂志 ...

  3. 8个数据清洗Python代码,复制可用,最长11行 | 资源

    最近,大数据工程师Kin Lim Lee在Medium上发表了一篇文章,介绍了8个用于数据清洗的Python代码. 数据清洗,是进行数据分析和使用数据训练模型的必经之路,也是最耗费数据科学家/程序员精 ...

  4. [network]RIP协议

    水平分割:一种避免路由环路的出现和加快路由汇聚的技术. 原理:路由器从某个接口接收到的更新信息不允许再从这个接口发送回去. 优点:1. 阻止路由环路产生:2. 减少路由器更新信息占用的链路带宽资源. ...

  5. Digital Roots:高精度

    C - Digital Roots Description The digital root of a positive integer is found by summing the digits ...

  6. 华为笔试——C++的int型数字位排序

    题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int ...

  7. drupal CVE-2018-7600 复现

    1.系统环境 Drupal 8.5 linux 主机 ruby 代码 2.原理说明 影响版本 Drupal 6.x,7.x,8.x 参考:CVE-2018-7600漏洞分析 3.利用 在Python2 ...

  8. 1014-C程序的语法树

  9. 20181023-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 01

    作业要求:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2383] 版本控制:[https://git.coding.net/lglr2 ...

  10. c# apache服务器请求得到数据(初级)

    1.代码: string data = new WebClient().DownloadString("http://localhost:81/123.txt");