【明哥报错簿】之json转换报错---net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXXDO
简单的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的更多相关文章
- 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 这种错误非常常见, ... 
- 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方法时,如果它的属性里面包含 ... 
- JSON字符串转JavaBean,net.sf.ezmorph.bean.MorphDynaBean cannot be cast to ……
		在json字符串转java bean时,一般的对象,可以直接转,如:一个学生类,属性有姓名.年龄等 public class Student implements java.io.Serializab ... 
- json 字符串包含数组转换为object对象是报异常java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
		前台传到后台的json字符串 前台实现这种格式json字符串方式: function contentFun(){ respType = respTypeFun(); return "{\&q ... 
- List转换成JSON对象报错(三)
		List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/e ... 
- 导入json文件报错,TypeError expected string or buffer
		导入json文件报错,TypeError expected string or buffer 原因:用字符串赋值后,python会把双引号转换为单引号 import json data = [{&qu ... 
- json.loads 报错 json.decoder.JSONDecodeError
		json.loads报json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes 出现这个错误其实只 ... 
- C#将XML转换成JSON转换XML
		原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using Syste ... 
- .NET JSON 转换 Error ” Self referencing loop detected for type“
		在进行实体转换为Json格式报错如下图: Self referencing loop detected for property 'md_agent' with type 'System.Data.E ... 
随机推荐
- IDEA 运行报错 failed to create a child event loop
			背景 在IDEA中写了测试代码,但是运行的时候一直提示 java.lang.IllegalStateException: failed to create a child event loop ... ... 
- 【BZOJ4016】[FJOI2014]最短路径树问题
			[BZOJ4016][FJOI2014]最短路径树问题 题面 bzoj 洛谷 题解 虽然调了蛮久,但是思路还是蛮简单的2333 把最短路径树构出来,然后点分治就好啦 ps:如果树构萎了,这组数据可以卡 ... 
- spring源码-aop动态代理-5.3
			一.动态代理,这是一个很强大的东西哦.研发过程中我们会常用很多业务类,但是存在一个问题.如何在不修改源码逻辑的情况下,加入自己的相关逻辑.比如异常处理,日志记录等! 二.Java动态代理的两种方式JD ... 
- 11-Dockerfile构建镜像
			用 Dockerfile 创建上节的 ubuntu-with-vi,其内容则为: FROM ubuntu RUN apt-get update && apt-get install v ... 
- Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) E. Down or Right
			从(1,1,n,n)每次只变一个坐标,进行询问. 如果问到对角线有距离限制, 再从(1,1,n/2,n/2)询问到(n/2,n/2,n,n) 记住前半部分贪心忘上走,后本部分贪心往右走 因为最后的路线 ... 
- Python数据可视化的10种技能
			今天我来给你讲讲Python的可视化技术. 如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解.其中最直观的就是采用数据可视化技术,这样,数据 ... 
- 415. Valid Palindrome【LintCode java】
			Description Given a string, determine if it is a palindrome, considering only alphanumeric character ... 
- 微软职位内部推荐-Senior Software Lead-Index Gen
			微软近期Open的职位: Position: Senior Software Development Lead Bing Index Generation team is hiring! As one ... 
- Amazon - removed your selling privileges and placed a temporary hold on any funds - 1
			Hello, We are writing to let you know that we have removed your selling privileges and placed a temp ... 
- linux计划任务 学习笔记
			原文链接: http://www.tsingfeng.com/?tag=cronjob 本文说的计划任务是指linux的Cronjob.语法 下面是个简单的计划任务: 10 * * * * /usr/ ... 
