当 Java 对象中包含 数组集合对象时,将 JSON 字符串转成此对象。

public class Cart{}

public class MemberCoupon{}

public class CartGroup {

  private List<Cart> carts = new ArrayList<Cart>(); // 购物车列表

  private List<MemberCoupon> coupons = new ArrayList<MemberCoupon>(); // 优惠券列表

  public List<Cart> getCarts() {
    return carts;
  }

  public void setCarts(List<Cart> carts) {
    this.carts = carts;
  }

  public List<MemberCoupon> getCoupons() {
    return coupons;
  }

  public void setCoupons(List<MemberCoupon> coupons) {
    this.coupons = coupons;
  }

}

String jsonString = "{'carts':[], 'coupons':[]}";

Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("carts", Cart.class);
classMap.put("coupons", MemberCoupon.class);

JSONObject json = JSONObject.fromObject(jsonString);

CartGroup cGroup = (CartGroup)JSONObject.fromObject(json, CartGroup.class, classMap);

就可以的到一个完整的带有数组属性的CartGroup 对象了。

从而避免了net.sf.ezmorph.bean.MorphDynaBean cannot be cast to org.java.json.Cart 异常。

Java 对象,数组 与 JSON 字符串 相互转化的更多相关文章

  1. Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合

    Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合 摘要:本文主要记录了如何将将前端的对象数组通过Json字符串传到后端,并在后端将Json字符串转换为对象集合. 前端代码 前 ...

  2. Java对象转换成Json字符串是无法获得对应字段名

    问题: 代码中已经标注 @JSONField(name = "attrs") private String abc; public String getA() { return a ...

  3. 将java对象转成json字符串

    如果要将数组.对象.Map.List转换成JSON数据,那我们需要一些jar包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar commons-logging.ja ...

  4. 在将对象数组转换为json字符串

    private List<WHCombineBatchFragmentBarcodeEnterEvent.Message.Data> dataList = new ArrayList< ...

  5. java对象转化为json字符串并传到前台

    package cc.util; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import ...

  6. JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"

    将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...

  7. 对象与json字符串相互转化

    在java编程中,json字符串和对象的相互转化十分常用,下面我们就对象如何转化为json字符串以及json字符串如何转化为对象进行简要介绍,以便在代码中能方便使用. 1.依赖 本次介绍的方法依赖ja ...

  8. Java对象转换成xml对象和Java对象转换成JSON对象

    1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...

  9. Java实现微信菜单json字符串拼接

    Java实现微信菜单json字符串拼接 微信菜单拼接json字符串方法 >>>>>>>>>>>>>>>> ...

随机推荐

  1. Oracle_12c_RAC_service_died问题分析处理

    接上篇,通过分析listener日志发现rac1数据库无法连接时出现了listener_20160628.log:28-JUN-2016 07:55:47 * service_died * LsnrA ...

  2. Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目

    Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目 新建一个maven工程,这里不赘述如何新建maven工程. 添加Neo4j jar到你的工程 有两种方 ...

  3. folly::AtomicHashmap源码分析(二)

    本文为原创,转载请注明:http://www.cnblogs.com/gistao/ 背景 上一篇只是细致的把源码分析了一遍,而源码背后的设计思想并没有写,设计思想往往是最重要的,没有它,基本无法做整 ...

  4. PP生产订单创建、下达、报工、收货、投料

    转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...

  5. Python2.7.12开发环境构建(自动补全)

    一.安装readline-devel包 Python的编译安装依赖于这个包 yum -y install readline-devel 二.安装Python2.7.12 Python官方网站(到此处下 ...

  6. lua-nginx-module 学习

    下载安装LuaJIT cd /usr/local/src sudo wget http://luajit.org/download/LuaJIT-2.0.3.tar.gz tar -xzvf LuaJ ...

  7. Servlet页面登录的数据库验证程序(一)

    一.基本思想是MVC模式,一个登录页面login.jsp,一个服务器处理程序Servlet.java,一个MySql数据库userinfo. 另外还有相关的数据封装类User和数据库连接类GetDat ...

  8. windosw应用提示内存不足

    找到如下注册表分支: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Windows 在右侧窗口中可以看到名为&quo ...

  9. C# exe dll防止反编译-- dotNET_Reactor

    新建两个VS C#工程test.sln 和 reactor.sln test工程代码中初始化时,删除reactor.exe 生成test工程 用软件 dotNET_Reactor 设置,保存成 set ...

  10. oracle数据库备份和还原

    ip导出方式:exp  demo/demo@127.0.0.1:1521/orcl file=f:\f.dmp full=y 备份:exp demo/demo@orcl file=f:\f.dmp f ...