Java 对象,数组 与 JSON 字符串 相互转化

当 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 异常。

时间: 2024-10-27 07:00:06

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

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

问题: 代码中已经标注 @JSONField(name = "attrs") private String abc; public String getA() { return abc; } public void setA(String abc) { this.abc = abc; } 在发送消息的时候,会发现消息接受到的Json消息是abc对应的字段是a. 解决方法: 发现这个问题的时候,大概感觉应该是get和set函数名的为题,将其改成getAbc(),setAbc(),再发送消

java对象转化为json字符串

java对象转化为json字符串,关键代码如下: JSONObject json = JSONObject.fromObject(person); String resultStr = json.toString(); 转化后的字符串形如: {"age":"18","name":"天津犀利妞","password":"123456","sex":"女&quo

Java对象转换成Json字符串

使用gson-2.3.1.jar package org.acooly.thrift.demo.client; import java.util.ArrayList; import com.google.gson.Gson; public class json { public static void main(String[] args) {          ArrayList list=new ArrayList();     Student s1=new Student();     s

JSon_零基础_007_将JSon格式的&quot;数组&quot;字符串转换为Java对象&quot;数组&quot;

将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key)方法取得key对应的value部分(字符串). 通过getJSONObject(key)可以取得一个JSONObject对象. 通过getJSONArray(key)可以得到一个JSONArray对象. 导入需要的jar包: package com.west.

PHP把数组转换为JSON字符串

<?php/**PHP把数组转换为JSON字符串**/$arr = [10,'Tom',true, '2015-10-15'];//echo $arr;echo json_encode($arr);//编码为JSON字符串 $arr = ['eid'=>10,'ename'=>'Tom','isMarried'=>true, 'birthday'=>'2015-10-15'];//echo $arr;echo json_encode($arr);//编码为JSON字符串 //

javascript-对象、数组转换为json字符串

http://jingyan.baidu.com/article/925f8cb8145b48c0dde056f5.html 上图, 蓝色是代码,红色是执行结果. 第1段蓝色是:对象转json字符串 第2段蓝色是:数组转json字符串 其实核心的方法就是:JSON.stringify() 参数,不论是数组,还是对象,直接传入,返回的就是json字符串. 特殊: IE7等旧浏览器,没有支持JSON.stringify().JSON.parse()等方法. 怎么解决? 使用json2.js即可. 网

jquery字符串数组转json字符串 C#json字符串转字符串list

一.jquery字符串数组转json字符串 var str=['1','2','3']; var jsonText= JSON.stringify(str);//把一个对象转换成json字符串 str=JSON.parse(jsonText);//把一个json字符串解析成对象 二. C#json字符串转字符串list using System.Web.Script.Serialization; JavaScriptSerializer js = new JavaScriptSerializer

JSON对象转换成JSON字符串

1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

【代码分享——Java&amp;Json】Json转成java对象,已经java对象转成Json对象

做记录用,肯定有地方不完整,先放着吧 [代码分享--Java&Json]Json转成java对象,已经java对象转成Json对象,布布扣,bubuko.com