java 解析Json对象(嵌套json数组)
来源:互联网 发布:mysql3306端口是udp 编辑:程序博客网 时间:2024/06/10 03:32
在这里我需要读取的是json数据中promote的img的url,name,shopPrice。
1.实体类
2.工具类Moblie_Utils根据url获取网络json格式数据
public class Moblie_Utils {public static String loadJson(String url) { StringBuilder json = new StringBuilder(); try { URL urlObject = new URL(url); URLConnection uc = urlObject.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream())); String inputLine = null; while ((inputLine = in.readLine()) != null) { json.append(inputLine); } // System.out.println("json.toString()====="+json.toString()); in.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return json.toString();}}
3.json数据格式,json中包含嵌套json数组
{"data": { "promote": [ { "id": 24, "goods_id": 24, "brief": null, "img": { "thumb": "http://image/1_0.jpg", "url": "http://image/1_0.jpg", "small": "http://image/1_0.jpg" }, "market_price": "0.0", "name": "F2000", "promote_price": "", "shop_price": "0.01" }, { "id": 92, "goods_id": 92, "brief": null, "img": { "thumb": "http://image/1_0.jpg", "url": "http://image/1_0.jpg", "small": "http://image/1_0.jpg" }, "market_price": "0.0", "name": "23000", "promote_price": "", "shop_price": "0.01" } ], "player": [ { "action": null, "action_id": null, "description": null, "photo": { "thumb": null, "url": "http://image/1_0.jpg", "small": null }, "url": "" }, { "action": null, "action_id": null, "description": null, "photo": { "thumb": null, "url": "http://image/1_0.jpg", "small": null }, "url": "" } ]},"status": { "succeed": 1, "error_code": null, "error_desc": null},"paginated": null,"session": null
}
4.控制层controller中
@Controller@RequestMapping("/moblieHome")public class Moblie_IndexController { @RequestMapping(value = "/hotSale",produces = "text/html;charset=UTF-8") public String mobileHomeCategory(Model model){ String url="http://xxxxx/home/data"; String homeDataJsonArrayString=Moblie_Utils.loadJson(url); JSONObject jsonObject=null; jsonObject= JSON.parseObject(homeDataJsonArrayString); String data=jsonObject.getString("data"); if(data!=null &&data.length()>0){ System.out.println("data==="+data); } jsonObject= JSON.parseObject(data); String promote_goods=jsonObject.getString("promote_goods"); if(data!=null &&data.length()>0){ System.out.println("promote_goods==="+promote_goods); } JSONArray jsonArray =jsonObject.getJSONArray("promote_goods"); JSONArray jsonArrayImg=null; JSONObject object=null; JSONObject objectImg=null; List<MobileGoodsBrief> goodsList = new ArrayList<MobileGoodsBrief>(); MobileGoodsBrief good=null; if(jsonArray!=null && jsonArray.size()>0) { for (int i = 0; i < jsonArray.size(); i++) { object = jsonArray.getJSONObject(i); good=new MobileGoodsBrief(); good.setShopPrice(object.getString("shop_price")); good.setPrice(object.getString("market_price")); good.setName(object.getString("name")); objectImg = JSON.parseObject(object.getString("img").toString()); good.setImgUrl(objectImg.getString("url")); goodsList.add(good); } } model.addAttribute("goodsList",goodsList); return "index.jsp";}
5.controller传值给jsp,
jsp头部注意添加c标签:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!DOCTYPE html><html><head></head><body><div><ul class="good"><c:forEach items="${goodsList}" var="t"><li> <a target="_blank" href="jump/67939165"> <img src="${t.imgUrl}"/> </a> <a target="_blank" href="jump/67939165"> <h1><i class="ico13"><img src="${t.imgUrl}"></i> ${t.name}</h1> <div class="list-price buy"> <i>¥</i><span class="price-new">${t.shopPrice}</span> <i class="del">/¥${t.price}</i> <span class="good-btn"><i class="ico15"> <img src="images/sts.png"/> </i> 去抢购 </span> </div> </a></li></c:forEach></ul></div></body></html>
0 0
- java 解析Json对象(嵌套json数组)
- java--json嵌套数组解析(2)
- java解析json对象,数组
- java--json嵌套数组解析(1)
- 双层嵌套json字符串(即json对象内嵌json数组)解析为Map
- Json解析数组对象
- 解析json数组对象
- 解析Json对象数组
- java 解析JSON对象与数组
- js解析json数组+java对象转json字符串
- JAVA嵌套解析Json字符串
- java嵌套对象转成json
- java解析json数组
- java解析json数组
- JAVA JSON数组解析
- java解析json数组
- Java解析Json对象
- java Json对象解析
- 第三方qq登陆
- Drools一个很好的例子
- 【Android】提升用户体验,ListView显示加载中动画及空数据视图
- 存储访问框架
- PAT 1038. Recover the Smallest Number (30)(求俩个数组和,谁放在前面这个数最小,题目是一个数列的组合)
- java 解析Json对象(嵌套json数组)
- 鼎纹
- shell变量
- 举例实现Android网络数据传输中的Gzip数据压缩
- 几个JAVA面试题
- html引用css
- Android6.0 AMS启动Activity(三) 进程内部启动Activity
- 纯CSS绘制三角形(各种角度)
- securecrt注册方法