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

如何获取动态key的json数据

2016-08-04 17:15 453 查看
json数据
{
"orderStatus": "30",
"orderSn": "20158888",
"childOrder": {
"VIP123456": {
"orderStatus": "30",
"logisticsName": "yuantong",
"logisticsTrackingNo": "1992101699999",
"skus": {
"HENU002": {
"num": "2"
},
"HENU005": {
"num": "2"
}
}
}
}
}


解决方案:

public static void main(String[] args) throws Exception {
HtCallBackVO vo = new HtCallBackVO();
String postData = "{\"orderStatus\":\"30\",\"orderSn\":\"20158888\",\"childOrder\":{\"VIP123457\":{\"orderStatus\":\"30\"," +
"\"logisticsName\":\"yuantong1\",\"logisticsTrackingNo\":\"1992101699999\",\"skus\":{\"HENU002\":{\"num\":\"2\"}," +
"\"HENU005\":{\"num\":\"2\"}}},\"VIP123456\":{\"orderStatus\":\"30\",\"logisticsName\":\"yuantong\",\"logisticsTrackingNo\":" +
"\"1992101699999\",\"skus\":{\"HENU002\":{\"num\":\"2\"},\"HENU005\":{\"num\":\"2\"}}}}}";
JSONObject jsonObject = JSONObject.parseObject(postData);
String orderCode = jsonObject.getString("orderSn");
List<ChildOrder> childOrders = new ArrayList<ChildOrder>();

JSONObject jsonObject2 = jsonObject.getJSONObject("childOrder");
for (String key : jsonObject2.keySet()) {
ChildOrder childOrder = new ChildOrder();
JSONObject subJsonObj = JSONObject.parseObject(jsonObject2.getString(key));
String orderStatus = subJsonObj.getString("orderStatus");
String logisticsName = subJsonObj.getString("logisticsName");
String logisticsTrackingNo = subJsonObj.getString("logisticsTrackingNo");
childOrder.setLogisticsName(logisticsName);
childOrder.setLogisticsTrackingNo(logisticsTrackingNo);
childOrder.setOrderStatus(orderStatus);
childOrder.setHtOrderCode(key);
childOrders.add(childOrder);
}
for (ChildOrder childOrder:childOrders){
System.out.println(childOrder.toString());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json java java web 动态key