java 解析Json对象(嵌套json数组)
2016-09-08 16:39
645 查看
在这里我需要读取的是json数据中promote的img的url,name,shopPrice。
1.实体类
![](http://img.blog.csdn.net/20160908161534292)
2.工具类Moblie_Utils根据url获取网络json格式数据
3.json数据格式,json中包含嵌套json数组
}
4.控制层controller中
5.controller传值给jsp,
jsp头部注意添加c标签:
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>
相关文章推荐
- 使用Java进行Json数据的解析(对象数组的相互嵌套)
- Java解析json嵌套数组
- java 安卓 复杂嵌套json对象的解析与创建
- java解析json对象,数组
- java 解析JSON对象与数组
- js解析json数组+java对象转json字符串
- java--json嵌套数组解析(1)
- java--json嵌套数组解析(2)
- JAVA中快速解析JSON对象里包含的JSON数组
- objective-c和java下解析对象类型和数组类型JSON字符串
- JAVA中快速解析JSON对象里包含的JSON数组
- JSON传java对象数组到后台解析
- 复杂json的转换 Map 数组 对象 生成 与 解析
- Android解析json数组对象
- Android中Gson解析json数据使用@SerializedName注解与java对象不匹配的字段
- ajax回调json数组对象,jquery中$.each()循环解析
- json数组转化为java对象、忽视不需要转化的json字段
- JAVA解析JSON,json对象转为javabean
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法
- JSON解析类库之JSON-lib --- JSON-lib类库学习, 生成与解析json数据, json字符串与Java对象互转