版本 gson-2.2.4.jar
java 实体
Goods.java
public class Goods implements Serializable{
private static final long serialVersionUID = 1L;
//商品名称
private String goodsName;
//商品总价
private String goodsCost;
//商品数量
private String goodsNum;
//商品单价
private String goodsPrice;
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public String getGoodsCost() {
return goodsCost;
}
public void setGoodsCost(String goodsCost) {
this.goodsCost = goodsCost;
}
public String getGoodsNum() {
return goodsNum;
}
public void setGoodsNum(String goodsNum) {
this.goodsNum = goodsNum;
}
public String getGoodsPrice() {
return goodsPrice;
}
public void setGoodsPrice(String goodsPrice) {
this.goodsPrice = goodsPrice;
}
}
ProofPrint.java
public class ProofPrint implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
//终端号
private String terminalNo;
//终端类型 pc/pos
private String terminalType;
//操作员编号
private String operatorNo;
//操作员姓名
private String operatorName;
//交易日期
private String transDate;
//银行卡号
private String cardiId;
//商铺名称
private String storeName;
//交易流水
private String transactionRecord;
//交易类型:消费/查询
private String storeType;
//批次号
private String batchNumber;
//金额
private String cost;
//商品
private ArrayList<Goods> goodsList;
public String getTerminalNo() {
return terminalNo;
}
public void setTerminalNo(String terminalNo) {
this.terminalNo = terminalNo;
}
public String getTerminalType() {
return terminalType;
}
public void setTerminalType(String terminalType) {
this.terminalType = terminalType;
}
public String getOperatorNo() {
return operatorNo;
}
public void setOperatorNo(String operatorNo) {
this.operatorNo = operatorNo;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public String getTransDate() {
return transDate;
}
public void setTransDate(String transDate) {
this.transDate = transDate;
}
public String getCardiId() {
return cardiId;
}
public void setCardiId(String cardiId) {
this.cardiId = cardiId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getTransactionRecord() {
return transactionRecord;
}
public void setTransactionRecord(String transactionRecord) {
this.transactionRecord = transactionRecord;
}
public String getStoreType() {
return storeType;
}
public void setStoreType(String storeType) {
this.storeType = storeType;
}
public String getBatchNumber() {
return batchNumber;
}
public void setBatchNumber(String batchNumber) {
this.batchNumber = batchNumber;
}
public String getCost() {
return cost;
}
public void setCost(String cost) {
this.cost = cost;
}
public ArrayList<Goods> getGoodsList() {
return goodsList;
}
public void setGoodsList(ArrayList<Goods> goodsList) {
this.goodsList = goodsList;
}
}
Msg.java
public class Msg<T> implements Serializable{
private static final long serialVersionUID = 1L;
private String businessCode ;
private T date;
public String getBusinessCode() {
return businessCode;
}
public T getDate() {
return date;
}
public void setBusinessCode(String businessCode) {
this.businessCode = businessCode;
}
public void setDate(T date) {
this.date = date;
}
}
R_msg.java
public class R_msg implements Serializable{
private String errCode;//错误码
private String errMsg;//错误描述
public String getErrCode() {
return errCode;
}
public void setErrCode(String errCode) {
this.errCode = errCode;
}
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
}
对象–转–>json字符串
Gson gson = new Gson();
String sendMsg = gson.toJson(msg);
ArrayList<Goods> goodsList = new ArrayList<Goods>();
Goods goods = new Goods();
goods.setGoodsCost("1000");
goods.setGoodsName("小米6");
goods.setGoodsPrice("1000");
goods.setGoodsNum("1");
Goods goods1 = new Goods();
goods1.setGoodsCost("2000");
goods1.setGoodsName("小米7");
goods1.setGoodsPrice("2000");
goods1.setGoodsNum("1");
goodsList.add(goods);
goodsList.add(goods1);
ProofPrint print = new ProofPrint();
print.setBatchNumber("11111");
print.setCardiId("6227677594794868046");
print.setCost("1000");
print.setGoodsList(goodsList);
print.setOperatorName("张三");
print.setOperatorNo("0001");
print.setStoreName("小米旗舰店");
print.setStoreType("消费");
print.setTerminalNo("10001");
print.setTerminalType("pos");
print.setTransDate("2017-10-25 10:24:00");
print.setTransactionRecord("8364983749846");
Msg<ProofPrint> msg = new Msg<ProofPrint>();
msg.setBusinessCode("ZT001");
msg.setDate(print);
Gson gson = new Gson();
String sendMsg = gson.toJson(msg);
json字符串–转–>对象
//解决含泛型bean转换失败问题
Type jsonType = new TypeToken<Msg<R_msg>>() {}.getType();
Gson gson = new Gson();
//msgJson 字符串
Msg<R_msg> msg = gson.fromJson(msgJson, jsonType);