Java 对象,数组 与 JSON 字符串 相互转化
2016-10-19 11:24
736 查看
当 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 异常。
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字符串的相互转化
- Java List或Map对象和json字符串数据的相互转化
- 如何将一个java对象(包括java对象数组、集合)转换成一个json字符串
- fastjson工具函数json和java对象相互转化
- json和java对象的相互转化
- JavaScript中JSON字符串和JSON对象相互转化
- Java中关于Json对象类型和字符串类型之间互相转化的问题
- js中json与数组字符串的相互转化
- java中将jsonObject字符串转化为Map对象
- fastjson工具函数json和java对象相互转化
- java集合或对象转化为json数组或者对象的方法
- js中对json对象和字符串的理解以及相互转化
- fastjson 第三方jar和java各种数据对象相互转化
- java对象转化为json字符串
- eval函数就是JavaScript用来解释JSON字符串的,把字符串转化为对象、数组、函数或者其它。
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- fastjson 第三方jar和java各种数据对象相互转化
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, JSON对象,函数和基本类型等
- 用Gson包进行java对象和Json格式字符串的相互转换
- 将json字符串转化为json数组,以及转化为java中的集合