您的位置:首页 > Web前端 > JavaScript

json字符串转化成含多层list集合的对象

2015-11-02 19:03 786 查看
返回待解析报文 

"DATA" : [ {
"infoSource" : "IN",
"actOrderId" : 110718608,
"orderAppId" : "3200130001",
"orderAppCustomCategory" : null,
"channelLevel1" : 0,
"channelLevel2" : 0,
"channelLevel3" : 0,
"channelLevel4" : null,
"orderStatus" : 2,
"orderStatusDesc" : "已支付(待发货) ",
"payStatus" : 2,
"refundStatus" : 0,
"expressStatus" : 2,
"clossStatus" : 0,
"createTime" : "20151028101923",
"payTime" : "20151028102000",
"userId" : 177383800,
"andUserId" : null,
"showUrl" : null,
"shopId" : "11224193",
"shopName" : "避风塘",
"hasRefund" : 0,
"payOnDelivery" : 0,
"goodsInfos" : [ {
"goodsId" : 78259824,
"goodsName" : "食堂活动-自提商品",
"goodsImage" : "p_1911291824.jpg",
"price" : 1,
"count" : 3,
"goodsDetail" : null,
"goodsDesc" : null,
"isVirtual" : 0,
"payCount" : 3,
"goodsVersion" : "40170570"
} ],
"expressInfos" : [ {
"expressCompanyId" : 10000,
"expressNo" : null,
"receiverName" : null,
"address" : null,
"phoneNumber" : null,
"receiveTime" : "20151028103413",
"expressCost" : 0,
"status" : 2
} ],


代码转化示例:

// JSON转换
JSONObject jsonObj = JSONObject.fromObject(goodsJson);
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("DATA", DataInfoDto.class);
classMap.put("goodsInfos", GoodsInfoDto.class);
classMap.put("expressInfos", ExpressInfoDto.class);
// 将JSON转换成DeliveryInfoDto
DeliveryInfoDto delivery = (DeliveryInfoDto) JSONObject.toBean(jsonObj,
DeliveryInfoDto.class, classMap);


创建相关实体类:

package com.justinmobile.lticket.domain.dto;

import java.io.Serializable;
import java.util.List;

/**
* 返回提货订单信息
* @author cm
*/
@SuppressWarnings("serial")
public class DeliveryInfoDto implements Serializable
{
public String TOTALROW;
public List<DataInfoDto> DATA;

public DeliveryInfoDto(){
super();
}

public String getTOTALROW()
{
return TOTALROW;
}

public void setTOTALROW(String tOTALROW)
{
TOTALROW = tOTALROW;
}

public List<DataInfoDto> getDATA()
{
return DATA;
}

public void setDATA(List<DataInfoDto> dATA)
{
DATA = dATA;
}

}


package com.justinmobile.lticket.domain.dto;

import java.io.Serializable;
import java.util.List;

/**
* 返回提货订单信息
* @author cm
*/
@SuppressWarnings("serial")
public class DataInfoDto implements Serializable
{
public String infoSource;
public Long actOrderId;
public String orderAppId;
public String orderAppCustomCategory;
public int channelLevel1;
public int channelLevel2;
public int channelLevel3;
public String channelLevel4;
public int orderStatus;
public String orderStatusDesc;
public int payStatus;
public int refundStatus;
public int expressStatus;
public int clossStatus;
public String createTime;
public String payTime;
public Long userId;
public String andUserId;
public String showUrl;
public String shopId;
public String shopName;
public int hasRefund;
public int payOnDelivery;
public List<GoodsInfoDto> goodsInfos;
public List<ExpressInfoDto> expressInfos;
public int totalPay;
public String refundUrl;

public DataInfoDto(){
super();
}
public String getInfoSource()
{
return infoSource;
}
public void setInfoSource(String infoSource)
{
this.infoSource = infoSource;
}
public Long getActOrderId()
{
return actOrderId;
}
public void setActOrderId(Long actOrderId)
{
this.actOrderId = actOrderId;
}
public String getOrderAppId()
{
return orderAppId;
}
public void setOrderAppId(String orderAppId)
{
this.orderAppId = orderAppId;
}
public String getOrderAppCustomCategory()
{
return orderAppCustomCategory;
}
public void setOrderAppCustomCategory(String orderAppCustomCategory)
{
this.orderAppCustomCategory = orderAppCustomCategory;
}
public int getChannelLevel1()
{
return channelLevel1;
}
public void setChannelLevel1(int channelLevel1)
{
this.channelLevel1 = channelLevel1;
}
public int getChannelLevel2()
{
return channelLevel2;
}
public void setChannelLevel2(int channelLevel2)
{
this.channelLevel2 = channelLevel2;
}
public int getChannelLevel3()
{
return channelLevel3;
}
public void setChannelLevel3(int channelLevel3)
{
this.channelLevel3 = channelLevel3;
}
public String getChannelLevel4()
{
return channelLevel4;
}
public void setChannelLevel4(String channelLevel4)
{
this.channelLevel4 = channelLevel4;
}
public int getOrderStatus()
{
return orderStatus;
}
public void setOrderStatus(int orderStatus)
{
this.orderStatus = orderStatus;
}
public String getOrderStatusDesc()
{
return orderStatusDesc;
}
public void setOrderStatusDesc(String orderStatusDesc)
{
this.orderStatusDesc = orderStatusDesc;
}
public int getPayStatus()
{
return payStatus;
}
public void setPayStatus(int payStatus)
{
this.payStatus = payStatus;
}
public int getRefundStatus()
{
return refundStatus;
}
public void setRefundStatus(int refundStatus)
{
this.refundStatus = refundStatus;
}
public int getExpressStatus()
{
return expressStatus;
}
public void setExpressStatus(int expressStatus)
{
this.expressStatus = expressStatus;
}
public int getClossStatus()
{
return clossStatus;
}
public void setClossStatus(int clossStatus)
{
this.clossStatus = clossStatus;
}
public String getCreateTime()
{
return createTime;
}
public void setCreateTime(String createTime)
{
this.createTime = createTime;
}
public String getPayTime()
{
return payTime;
}
public void setPayTime(String payTime)
{
this.payTime = payTime;
}
public Long getUserId()
{
return userId;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public String getAndUserId()
{
return andUserId;
}
public void setAndUserId(String andUserId)
{
this.andUserId = andUserId;
}
public String getShowUrl()
{
return showUrl;
}
public void setShowUrl(String showUrl)
{
this.showUrl = showUrl;
}
public String getShopId()
{
return shopId;
}
public void setShopId(String shopId)
{
this.shopId = shopId;
}
public String getShopName()
{
return shopName;
}
public void setShopName(String shopName)
{
this.shopName = shopName;
}
public int getHasRefund()
{
return hasRefund;
}
public void setHasRefund(int hasRefund)
{
this.hasRefund = hasRefund;
}
public int getPayOnDelivery()
{
return payOnDelivery;
}
public void setPayOnDelivery(int payOnDelivery)
{
this.payOnDelivery = payOnDelivery;
}
public List<GoodsInfoDto> getGoodsInfos()
{
return goodsInfos;
}
public void setGoodsInfos(List<GoodsInfoDto> goodsInfos)
{
this.goodsInfos = goodsInfos;
}
public List<ExpressInfoDto> getExpressInfos()
{
return expressInfos;
}
public void setExpressInfos(List<ExpressInfoDto> expressInfos)
{
this.expressInfos = expressInfos;
}
public int getTotalPay()
{
return totalPay;
}
public void setTotalPay(int totalPay)
{
this.totalPay = totalPay;
}
public String getRefundUrl()
{
return refundUrl;
}
public void setRefundUrl(String refundUrl)
{
this.refundUrl = refundUrl;
}

}


package com.justinmobile.lticket.domain.dto;

import java.io.Serializable;
import java.math.BigDecimal;

/**
* 商品信息DTO
* @author cm
*
*/
@SuppressWarnings("serial")
public class GoodsInfoDto implements Serializable
{
public Long goodsId;
public String goodsName;
public String goodsImage;
public BigDecimal price;
public int coun
4000
t;
public String goodsDetail;
public String goodsDesc;
public int isVirtual;
public int payCount;
public String goodsVersion;

public GoodsInfoDto(){
super();
}
public Long getGoodsId()
{
return goodsId;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public String getGoodsName()
{
return goodsName;
}
public void setGoodsName(String goodsName)
{
this.goodsName = goodsName;
}
public String getGoodsImage()
{
return goodsImage;
}
public void setGoodsImage(String goodsImage)
{
this.goodsImage = goodsImage;
}
public BigDecimal getPrice()
{
return price;
}
public void setPrice(BigDecimal price)
{
this.price = price;
}
public int getCount()
{
return count;
}
public void setCount(int count)
{
this.count = count;
}
public String getGoodsDetail()
{
return goodsDetail;
}
public void setGoodsDetail(String goodsDetail)
{
this.goodsDetail = goodsDetail;
}
public String getGoodsDesc()
{
return goodsDesc;
}
public void setGoodsDesc(String goodsDesc)
{
this.goodsDesc = goodsDesc;
}
public int getIsVirtual()
{
return isVirtual;
}
public void setIsVirtual(int isVirtual)
{
this.isVirtual = isVirtual;
}
public int getPayCount()
{
return payCount;
}
public void setPayCount(int payCount)
{
this.payCount = payCount;
}
public String getGoodsVersion()
{
return goodsVersion;
}
public void setGoodsVersion(String goodsVersion)
{
this.goodsVersion = goodsVersion;
}

}


package com.justinmobile.lticket.domain.dto;

import java.io.Serializable;

/**
* 物流信息DTO
* @author cm
*
*/
@SuppressWarnings("serial")
public class ExpressInfoDto implements Serializable
{
public Long expressCompanyId;
public String expressNo;
public String receiverName;
public String address;
public String phoneNumber;
public String receiveTime;
public int expressCost;
public int status;

public ExpressInfoDto(){
super();
}
public Long getExpressCompanyId()
{
return expressCompanyId;
}
public void setExpressCompanyId(Long expressCompanyId)
{
this.expressCompanyId = expressCompanyId;
}
public String getExpressNo()
{
return expressNo;
}
public void setExpressNo(String expressNo)
{
this.expressNo = expressNo;
}
public String getReceiverName()
{
return receiverName;
}
public void setReceiverName(String receiverName)
{
this.receiverName = receiverName;
}
public String getPhoneNumber()
{
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber)
{
this.phoneNumber = phoneNumber;
}
public String getReceiveTime()
{
return receiveTime;
}
public void setReceiveTime(String receiveTime)
{
this.receiveTime = receiveTime;
}
public int getExpressCost()
{
return expressCost;
}
public void setExpressCost(int expressCost)
{
this.expressCost = expressCost;
}
public int getStatus()
{
return status;
}
public void setStatus(int status)
{
this.status = status;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息