1.解析JSON格式数据需要的JAR包:
commons-beanutils.jar
commons-collections-3.1.jar
commons-lang-2.0.jar
commons-logging.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
log4j-1.2.11.jar
morph-1.1.1.jar
附件提供下载。
2. 解析数据核心代码(附件2有淘宝返回的JSON格式数据示例)
- /**
- * 解析从淘宝返回的订单详情数据
- * @param jsonString:淘宝返回的JSON格式数据
- * @return:订单详情数据
- */
- public Order analyticJson(String jsonString){
- //JSON格式数据解析对象
- JSONObject jb = JSONObject.fromObject(jsonString);
- JSONObject ja = jb.getJSONObject("trade_fullinfo_get_response").getJSONObject("trade");
- //需返回的订单对象
- Order order = new Order();
- order.setBuyer_nick(ja.getString("buyer_nick"));
- order.setReceiver_address(ja.getString("receiver_address"));
- order.setReceiver_city(ja.getString("receiver_city"));
- order.setReceiver_name(ja.getString("receiver_name"));
- order.setReceiver_state(ja.getString("receiver_state"));
- //区域是否存在
- if(ja.containsKey("receiver_district")){
- order.setReceiver_district(ja.getString("receiver_district"));
- }else{
- order.setReceiver_district("");
- }
- //手机号是否存在
- if(ja.containsKey("receiver_mobile")){
- order.setReceiver_mobile(ja.getString("receiver_mobile"));
- }else{
- order.setReceiver_mobile("");
- }
- //电话是否存在
- if(ja.containsKey("receiver_phone")){
- order.setReceiver_phone(ja.getString("receiver_phone"));
- }else{
- order.setReceiver_phone("");
- }
- //订单明细列表
- java.util.List<OrderDetail> goodsList = new java.util.LinkedList<OrderDetail>();
- JSONArray orderDetailArr = ja.getJSONObject("orders").getJSONArray("order");
- //循环添加订单明细
- for(int j=0;j<orderDetailArr.size();j++){
- OrderDetail od = new OrderDetail();
- od.setNum(orderDetailArr.getJSONObject(j).getString("num"));
- od.setOuter_iid(orderDetailArr.getJSONObject(j).getString("outer_iid"));
- od.setPayment(orderDetailArr.getJSONObject(j).getString("payment"));
- goodsList.add(od);
- }
- order.setGoodsList(goodsList);
- return order;
- }