JSON数据如下:
{
"type":"dec-sync-response.message",
"status":"0",
"message":"成功",
"data":{
"invtHeadType": {
"seqNo": "201900000005318528",
"chgTmsCnt": "0",
"putrecNo": "C53010000000",
"bizopEtpsSccd": "91440300MA5EQFQN59",
"bizopEtpsno": "4403161MGW",
"bizopEtpsNm": "深圳市中欧瑞安科技有限公司",
"rvsngdEtpsSccd": "91440300MA5EQFQN59",
"rcvgdEtpsno": "4403161MGW",
},
"invtListType": [
{
"seqNo": "201900000005318528",
"gdsSeqno": "1",
"putrecSeqno": "1",
"gdecd": "3005909000",
"gdsNm": "其他软填料及类似物品",
"gdsSpcfModelDesc": ".",
"dclUnitcd": "035"
}
],
"invtWarehouseType": [],
"invtGoodsType": [],
"invtDecHeadType": {
"seqNo": "201900000005318528",
"putrecNo": "C53010000000",
"bizopEtpsSccd": "91440300MA5EQFQN59",
"bizopEtpsno": "4403161MGW",
"bizopEtpsNm": "深圳市中欧瑞安科技有限公司",
"rvsngdEtpsSccd": "91440300MA5EQFQN59",
"rcvgdEtpsno": "4403161MGW",
"rcvgdEtpsNm": "深圳市中欧瑞安科技有限公司",
},
"invtDecListType": [
{
"seqNo": "201900000005318528",
"entryGdsSeqno": "1",
"putrecSeqno": "@1",
"gdecd": "3005909000",
"gdsNm": "其他软填料及类似物品",
"gdsSpcfModelDesc": ".",
"dclUnitcd": "035",
"lawfUnitcd": "035",
"dclUprcAmt": "1",
}
],
"invtDocuType": [],
"invtCbecBill": [],
"listStat": "0"
}
}
可以用gson和fastJson两个插件同时使用比较方便
Gson gs = new Gson(); JsonObject jsonObject = new JsonParser().parse(message).getAsJsonObject(); Map<String,String> map = gs.fromJson(jsonObject.toString(), Map.class); String type = map.get("type"); String status = map.get("status"); String resultMessage = map.get("message"); JsonObject jsonObject2 = jsonObject.getAsJsonObject("data"); CsgBillHeadAndBody csgBillHeadAndBody = objectMapper.readValue(jsonObject2.toString(),CsgBillHeadAndBody.class); String listStat = csgBillHeadAndBody.getListStat(); CsgBillHead csgBillHead = csgBillHeadAndBody.getInvtHeadType(); List<CsgBillGoods> csgBillGoodsList = (List<CsgBillGoods>) csgBillHeadAndBody.getInvtListType();
其中data:{}里面的数据可以完全用fastJson,实体Bean如下
public class CsgBillHeadAndBody implements Serializable { private CsgBillHead invtHeadType; private List<CsgBillGoods> invtListType; private String listStat;//另外其他属性可以再加 }