`
liwenshui322
  • 浏览: 511804 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA 解析JSON格式数据

 
阅读更多

      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;
			
	}

 

      

11
1
分享到:
评论
8 楼 cloverprince 2011-09-07  
Jackson也行,我们一直用它。
7 楼 xiaoLee 2011-09-07  
个人觉得应该还有更好的办法
6 楼 liwenshui322 2011-09-07  
lqixv 写道
为什么不用 fastjson,别人都写好了,直接用就可以了

嗯 不错,想不到还有写好的。
5 楼 lqixv 2011-09-07  
为什么不用 fastjson,别人都写好了,直接用就可以了
4 楼 wst0350 2011-09-07  
3 楼 youjianbo_han_87 2011-09-07  
      
2 楼 yonghong915 2011-09-06  
没用过,先学习一下!
1 楼 dic_1988 2011-09-06  

相关推荐

Global site tag (gtag.js) - Google Analytics