添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
旅途中的牛腩  ·  python - ...·  2 年前    · 
有情有义的菠萝  ·  矩阵乘法_百度百科·  2 年前    · 
胡子拉碴的松球  ·  idea ...·  2 年前    · 

在这里我需要读取的是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>
</head>
<ul class="good">
<c:forEach items="${goodsList}" var="t">
    <a target="_blank" href="jump/67939165">
        <img src="${t.imgUrl}"/>
    <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>
</c:forEach>
</body>
</html>
                    1.实体类    2.工具类Moblie_Utils根据url获取网络json格式数据public class Moblie_Utils {public static String loadJson(String url) {    StringBuilder json = new StringBuilder();    try {        URL urlObject = new U
我记得json-lib中还有一个方法排除json中的数据,方法是JsonConfig()
以后补充。
方式二:谷歌还有一个json转换的jar包,稍微优点区别。依赖包和json-lib相同。
方式三:fastjson的使用
导入jar包
在java中将lis...
				
1 引言: 在数据解析过程中,json格式的数据多用来做前后端数据交互、接口数据交互等,弄清楚Java语言中解析json嵌套数组对于数据交互有着重要意义,本文基于自己的代码编写和逻辑梳理,整理出本篇干货,亲测有效。 2 理论: 2-1 json字符串和json对象的区别: //格式区别: //JSON字符串: var str='{"name":"xiaoming","age":24}'; //JSON对象: var obj={"name":"xiaoming","age":24}; 2-2 简单的解析js
结果前言最近开发的Java Web系统中涉及到为移动端写接口,需要返回JSON数据,而移动端用的是API Cloud开发的,调用它上面的电话插件时要按照他执行的格式。首先看一下他要求的格式:[ "employee_id" : 191, "remark" : "王科研", import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.Ty... public static void main(String[] args) { String jsonString = "{\"name\":\"John\", \"age\":30, \"cars\":[\"Ford\", \"BMW\", \"Fiat\"]}"; JSONObject json = new JSONObject(jsonString); parseJson(json); public static void parseJson(JSONObject json) { for (String key : json.keySet()) { Object value = json.get(key); if (value instanceof JSONObject) { // 如果值是一个 JSON 对象,则递归解析它 parseJson((JSONObject) value); } else if (value instanceof JSONArray) { // 如果值是一个 JSON 数组,则遍历它并递归解析其中的每个元素 JSONArray jsonArray = (JSONArray) value; for (int i = 0; i < jsonArray.length(); i++) { Object element = jsonArray.get(i); if (element instanceof JSONObject) { parseJson((JSONObject) element); } else { // 如果值是一个基本类型,则输出它 System.out.println(key + ": " + value); 在上面的代码中,我们首先创建了一个包含 JSON 数据的字符串,并将其转换为一个 JSONObject 对象。然后,我们调用 parseJson 方法,并将 JSONObject 对象传递给它。在 parseJson 方法中,我们遍历 JSON 对象的所有键,并检查每个键所对应的值的类型。 如果值是一个 JSON 对象,则我们递归调用 parseJson 方法,将该值转换为 JSONObject 对象,并继续解析它。如果值是一个 JSON 数组,则我们遍历它并递归解析其中的每个元素。最后,如果值是一个基本类型,则我们输出它。 注意:在使用基于递归的方法解析 JSON 数据时,需要小心处理嵌套JSON 对象数组,以避免出现无限递归的情况。 @Nonnull @TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER}) public @interface NonNullApi { @NonNullApi @NonNullFields package org.springframework.scheduling.concurrent; ```[code=java] [/code] @Target:注解的作用目标 @Target(ElementType.PACKAGE)——包 用在包上,代码要怎么写 表情包 mac mysql 忘记初始root密码,重置密码 涣然冰释°: mac mysql 忘记初始root密码,重置密码 涣然冰释°: ALTER USER 【用户名】@localhost IDENTIFIED BY '【密码】'; springboot java 分类树结构json封装通用工具类TreeUtil allList哪来的