JSON字符串转javabean-net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map
2014-11-20 15:48
519 查看
会报错:MorphDynaBean cannot be cast to java.util.Map
在JSONObject.toBean的时候如果转换的类中有集合,可以先定义Map<String, Class> classMap = new HashMap<String, Class>();在classMap中put你要转换的类中的集合名,像:classMap.put("teachers", Teacher.class);然后在toBean()的时候把参数加上, 像:Student student=(Student) JSONObject.toBean(str, Student.class, classMap);
举例:
从redis取出来:将json的string转化为bean
在JSONObject.toBean的时候如果转换的类中有集合,可以先定义Map<String, Class> classMap = new HashMap<String, Class>();在classMap中put你要转换的类中的集合名,像:classMap.put("teachers", Teacher.class);然后在toBean()的时候把参数加上, 像:Student student=(Student) JSONObject.toBean(str, Student.class, classMap);
举例:
Map<String, Object> result = new HashMap<String, Object>(); result.put("code", response.getStatus()); result.put("total", sdoclist.getNumFound()); System.out.println("返回结果数:"+sdoclist.getNumFound()); result.put("costTime", time); result.put("query", getQueryCondition()); ArrayList<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>(); result.put("result", resultList); for (int i = 0; i < sdoclist.size(); i++) { Map fieldMap = new HashMap(); SolrDocument sdoc = sdoclist.get(i); Collection names = sdoc.getFieldNames(); Iterator itr = names.iterator(); while (itr.hasNext()) { String name = (String) itr.next(); Object value = sdoc.getFieldValue(name); fieldMap.put(name, value); } resultList.add(fieldMap); }存储到redis:
JsonConfig cfg = new JsonConfig(); cfg.registerJsonValueProcessor(java.util.Date.class,new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss")); JSONObject json = JSONObject.fromObject(result,cfg); redisService.setex(0,searchCondition, 3600*48,json.toString());//有效期2天
从redis取出来:将json的string转化为bean
Map<String, Class> classMap = new HashMap<String, Class>(); classMap.put("result", Map.class); //针对result这个key对应的vallue是ArrayList类型, //ArrayList中的存储的是Map类型,所以classMap.put("result", Map.class);而不是classMap.put("result", ArrayList)
HashMap<String , String > rmap = new HashMap<String, String>(); Object obj = JSONObject.toBean(JSONObject.fromObject(result_q),HashMap.class,classMap); Map<String,Object> map = (HashMap<String, Object>) obj;
相关文章推荐
- JSON字符串转javabean,报net.sf.ezmorph.bean.MorphDynaBean cannot be cast to.....
- JSON字符串转javabean,报net.sf.ezmorph.bean.MorphDynaBean cannot be cast to.....
- JSON字符串转javabean,报net.sf.ezmorph.bean.MorphDynaBean cannot be cast to.....
- net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map
- JSON字符串转JavaBean,net.sf.ezmorph.bean.MorphDynaBean cannot be cast to ……
- java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
- net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx 关于JSON对象解析List<XXX>在调用时出错问题
- 【明哥报错簿】之json转换报错---net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXXDO
- json错误解析net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
- java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
- net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx
- ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to com.xxx.xxx
- net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
- net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx
- net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx
- JSON字符串转javabean,MorphDynaBean cannot be cast to ……
- JSON字符串转javabean,MorphDynaBean cannot be cast to ……
- JSON字符串转javabean,MorphDynaBean cannot be cast to...问题解决
- java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject
- JSON字符串转javabean,MorphDynaBean cannot be cast to ……