JSON字符串转换object错误:MorphDynaBean cannot be cast to com.softright.bean.TestBean

错误:MorphDynaBean cannot be cast to com.softright.bean.TestBean

 

解决方法:

在JSONObject.toBean的时候

如果转换的类中有集合,可以先定义Map<String, Class> classMap = new HashMap<String, Class>();

在classMap中put你要转换的类中的集合名,像:classMap.put("data", StoDataInfo.class);

当然也可以put一个集合类("data",Map.class)

然后在toBean()的时候把参数加上, 像:ShenTongInfo stInfo=(ShenTongInfo) JSONObject.toBean(o, ShenTongInfo.class, classMap);

具体实例

 代码如下 复制代码

public class JsonConvertorDemo { 

public static void main(String[] args) { 
B b1 = new B("b1"); 
Map<String, B> bMap = new HashMap<String, B>(); 
bMap.put("key1", b1); 
A a1 = new A(bMap); 

JSONObject jsonObject = JSONObject.fromObject(a1); 
String json = jsonObject.toString(); 
jsonObject = JSONObject.fromObject(json); 

Map<String, Class> classMap = new HashMap<String, Class>(); 
classMap.put("bMap", Map.class); 
a1 = (A) JSONObject.toBean(jsonObject, A.class, classMap); 

bMap = a1.getbMap(); 
System.out.println(bMap.get("key1").getB1()); 

public class A { 
private Map<String, B> bMap = new HashMap<String, B>(); 
public A() {} 
public A(Map<String, B> bMap) { 
this.bMap = bMap; 

public Map<String, B> getbMap() { 
return bMap; 

public void setbMap(Map<String, B> bMap) { 
this.bMap = bMap; 

public class B { 
private String b1; 
public B() {} 
public B(String b1) { 
this.b1 = b1; 

public String getB1() { 
return b1; 

public void setB1(String b1) { 
this.b1 = b1; 

时间: 2024-09-23 15:13:29

JSON字符串转换object错误:MorphDynaBean cannot be cast to com.softright.bean.TestBean的相关文章

jsp-怎么把JSON字符串转换成java字符串或数组或者集合

问题描述 怎么把JSON字符串转换成java字符串或数组或者集合 var chk_value =[]; $('input[name="zd_resourcecb"]:checked').each(function(){ chk_value.push($(this).val()); }); var chk_values = JSON.stringify(chk_value); jsp是这么写的 不过得到的是JSON字符串 ,我想要得到java类型的字符串或是数组什么的 解决方案 字符串反

将JSON字符串转换成Map对象的方法_javascript技巧

页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 public Map<String, String> toMap(Object object) { Map<String, String> data = new HashMap<String, String>(); // 将json字符串转换成jsonObject JSONObject jsonObject = JSONObject.fromObject(object); Iterato

使用JSON.parse将json字符串转换成json对象的时候会出错_javascript技巧

在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问题,所以要在输出到页面进行json对象转换之前将一些特殊符合进行编码或转义,下面展示的是C#代码编码和转义几个常用特殊字符.经过笔者测试,将这些符号编码和转义之后,大部分json字符串都可以转换成json对象了.如果遇到个别问题,应朝着这个方向去查找问题. theString = theString

js中把JSON字符串转换成JSON对象最好的方法

 这篇文章主要介绍了js中把JSON字符串转换为JSON对象最好的方法,需要的朋友可以参考下 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析.   第一种解析方式:使用eval函数来解析,并且使用jQuery的each方法来遍历 用jQuery解析JSON数据的方法,作为jQuery异步请求的传输对象,jQuery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,

IOS 把格式化的JSON字符串转换成字典

/*! * @brief 把格式化的JSON格式的字符串转换成字典 * @param jsonString JSON格式的字符串 * @return 返回字典 */ + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString == nil) { return nil; } NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8Strin

小女子跪求大神帮忙~关于json字符串转换成实体类。。

问题描述 求实例比如说我现在的json字符串是[{"name":"aa","passwd":"bb"},{"name":"aa2","passwd":"bb2"},...],我需要把它转存到javaBean中,但是我在并不知道接受的JSON字符串的内容中name和passwd的先后位置(因为我做的是socket传输json格式的数据,并且其中的数据

jQuery.parseJSON(json)将JSON字符串转换成js对象_jquery

概述 接受一个JSON字符串,返回解析后的对象. 传入一个畸形的JSON字符串会抛出一个异常.比如下面的都是畸形的JSON字符串: {test: 1} ( test 没有包围双引号) {'test': 1} (使用了单引号而不是双引号) 另外,如果你什么都不传入,或者一个空字符串.null或undefined,parseJSON都会返回 null . 参数 jsonString 要解析的JSON字符串 示例 描述: 解析一个JSON字符串 jQuery 代码: var str = '{"name

如何将一个json中的json字符串转换成一个USER对象。

我是温浩然: 通过Gson 可以将一个JSON,成功的转换为一个用户对象, JSONObject resJSON = JSONObject.fromObject(resData); System.out.println("resJSON"+resJSON); //把json中的user对象获取,并强转. Object userjson = resJSON.get("user"); String userString = userjson.toString(); //

JS对象与json字符串格式转换实例_javascript技巧

本文实例讲述了JS对象与json字符串格式转换的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title></title>     <script type="text/javascript"&g