在这里我需要读取的是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="data:images/sts.png"/></i> 去抢购</span></div></a>
</li>
</c:forEach>
</ul>
</div>
</body>
</html>

java 解析Json对象(嵌套json数组)相关推荐

  1. java String、Json对象与byte数组转换

    用途 测试String对象与byte数组转换方式 测试Json对象与byte数组转换方式 源代码 import java.io.UnsupportedEncodingException; import ...

  2. Json对象与Json字符串的转化、JSON字符串与Java对象的转换

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  3. json对象(json对象和json数组)

    使用Struts2的json插件转换对象的配置问题Action 你好,你可以跟客服去咨询一下. java如果将一个文件变成json对象我有一个文件,需要通过ja google搜索gson 灰常好用的工 ...

  4. json字符串,JSON对象,JSON数组的区别与相互转换

    JSON数组,json字符串,JSON对象,数组的区别与基本操作整理 JSON对象是直接可以使用JQuery操作的格式 JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据, ...

  5. js中如何把 json对象转换成 数组

    // var data2 = JSON.parse(data); // JSON.parse() 把 json字符串 转化成 json 对象 // var a = JSON.stringify(dat ...

  6. 如何将json对象转成数组???

    如何将json对象转成数组??? 原:var json={"phone_num_wxx":"用户手机号","phone_city_wxx": ...

  7. Json对象和Json字符串

    JSON对象 有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串.  先介绍一下json对 ...

  8. JavaScript对象、JSON对象、JSON字符串的区别

    一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...

  9. json字符串转json对象(前端json字符串转json对象)

    小弟我如何把二进制data转换成json字符串 我举个例子,转json用的是fastjson,如附件.ArrayListobj=newArrayList();ArrayListuh=newArrayL ...

  10. Json对象和Json字符串以及js对象(JavaScript对象)的区别

    1.Json概念 概念:JSON (JavaScript Object Notation) 一种简单的数据格式,是一种比较轻量级的数据存储格式: 2.Json与JS对象的对比 区 别 JSON Jav ...

最新文章

  1. 7-1 堆栈操作合法性(20 分)
  2. 《构建之法》8.9.10
  3. saiav.win forum.php,【emWin实战教程V2.0】第4章    emWin5.xx的裸机方式移植(F4
  4. 3d建模电脑配置要求_学习3D建模需要什么软件,电脑配置应该如何?新手自学会遇到的问题...
  5. OpenCV通过形态学操作提取水平线和垂直线
  6. hystrix服务降级
  7. metadata in OData and png
  8. HDU 3240 Counting Binary Trees 数论-卡特兰数
  9. tyvj——P3524 最大半连通子图
  10. 简单python代码实例_Python简单进程锁代码实例
  11. 485有时候从机接收指令没反应_多动症儿童反应慢好几拍?神经递质释放速度太慢就会出现这种问题!科学训练高效提升孩子反应力!...
  12. 2018计算机核心期刊,2018中国科技核心期刊目录!!!!
  13. 初学者小白怎么画猫咪主题插画?该怎么去注意其中的细节?
  14. NSI50150ADT4G TO-252 ON安森美 150-350mA 50V 4.2W LED驱动器 工业级规格认证
  15. 大数据概论、大数据概念、大数据特点(4V)、Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、大数据应用场景、大数据发展前景、大数据部门间业务流程分析
  16. 用python中的turtle库绘制一些有趣的图
  17. Java二分法查找数组中某个数的下标
  18. 2019网易《Face-to-Parameter Translation for Game Character Auto-Creation》论文解析
  19. “奈雪们”的瓶装茶饮,是门好生意吗?
  20. 从零开始之驱动发开、linux驱动(二十九、mmap原理)

热门文章

  1. HbuilderX插件下载失败的解决方法
  2. [busybox]用busybox做一个rootfs
  3. App地推活动方案该如何策划?
  4. 【同步DC-DC降压控制器】5.5V-65V宽输入电压范围 SCT82630
  5. 网络攻防技术——OSI安全体系
  6. 定时器误触发功能详解
  7. Java开发常见英语词汇汇总
  8. html 多选框点击事件,jquery/javascript:单击复选框上的事件和“checked”属性
  9. 创业基础(第一章第二章) 来自高校:全国大学生创新创业实践联盟 分类:创新创业 学习规则:按序学习
  10. turtle绘制科赫雪花