相关文章推荐

在这里我需要读取的是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>
                    在这里我需要读取的是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 Stri...
				
oql2json-从Netcool ITNM OQL ANTLR生成的转换器插入JSON 是一个网络建模软件件。 它使用内部对象查询语言(OQL)数据库,该数据库具有类似SQL的语法,本机支持嵌套数组和哈希作为数据类型。 oql2json主要是一种,它理解OQL插入语句,然后理解一些代码行以遍历解析树并将其转换为JSON。 (shell) $ git clone https://github.com/rc9000/oql2json (shell) $ cd cd oql2json/oql2json (shell) $ mvn package (shell) $ cat examples/ex1.txt insert into master.entityByName ( EntityName, BaseName, EntityType ) values ( "the
结果前言最近开发的Java Web系统中涉及到为移动端写接口,需要返回JSON数据,而移动端用的是API Cloud开发的,调用它上面的电话插件时要按照他执行的格式。首先看一下他要求的格式:[ "employee_id" : 191, "remark" : "王科研",
目录JSON数据结构简介JSON 表示对象JSON 格式表示数组JSON嵌套JSON数据嵌套1JSON数据嵌套2JSON数据嵌套3 JSON数据结构简介 JSON数据结构一种与开发语言无关的、轻量级的数据存储格式,全称JavaScript Object Notation,一种数据格式的标准规范,起初来源于JavaScript这门语言,后来随着使用的广泛,几乎每门开发语言都有处理JSON的API 。 优点:易于人的阅读和编写,易于程序解析与生产,它相比xml格式的数据结构,占用的数据控件更小。 JSON数据结构的表示如下: JSON 表示对象 JSON数据结构表示对象一般用大括号{},大括号里面
json-20230227.jar下载,org.json是一款 veteran 的 Java JSON 处理库。它提供了一组简单的 Java APIs 来处理 JSON,简化了 JavaJSON 的交互过程。org.json体积小、性能出色且无依赖,在 Android 和 Java 项目中被广泛使用。 org.json 的主要功能有: 1. 简洁的 API:org.json 提供简单易用的 API 来创建 JSON 对象解析 JSON 字符串,一般只需要一行或两行代码。 2. 小体积:org.json 是一个非常轻量级的库,作为一个 jar 包只有 26KB 左右,无依赖,非常适合在 Android 和 Java 项目中使用。 3. 快速高性能:org.json 基于字符串解析 JSON,性能表现极佳,解析速度比其他基于流或DOM的 JSON 库要快得多。 4. 支持 JSON 对象数组:可以将 JSON 对象数组Java Map、List 相互转换。 5. 支持嵌套 JSON 对象:org.json 支持解析嵌套JSON 对象结构。 6. 双向转换:org.jso
public static void main(String[] args) { String str="{ \"head\":{\"snd_time\":\"20151020234832\",\"snder\":\"S\"} ,\"body\":{\"app_id\":\"APP002\",\"records\":[{\"excp_stat\":\"0\",\"fields\":[{\"req_time\":\"20140828000312\",\"tran_date\":\"121226\"}]}]} }"; System.out.println(str); /*普通数据生成json数组*/ boolean[] boolArray = new boolean[]{true,false,true}; JSONArray jsonArray1 = JSONArray.fromObject( boolArray ); System.out.println( jsonArray1 ); // prints [true,false,true] /*List生成json数组*/ List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray2 = JSONArray.fromObject( list ); System.out.println( jsonArray2 ); // prints ["first","second"] /*String生成json数组*/ JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" ); System.out.println( jsonArray3 ); // prints ["json","is","easy"] /*Map生成json*/ Map<Object, Object> map = new HashMap<Object, Object>(); map.put("name", "Ren"); map.put("sex", "man"); map.put("age", 24); JSONObject obj = JSONObject.fromObject(map); System.out.println(obj); //输出结果{"sex":"man","age":24,"name":"Ren"} /*嵌套生成json*/ JSONArray jsonArr = new JSONArray(); JSONObject jsonObj = new JSONObject(); for (int i = 1; i <= 3; i++) { JSONObject tjo = new JSONObject(); tjo.put("optValue", i+""); tjo.put("optText", i+"Text"); jsonArr.add(tjo); jsonObj.put("options", jsonArr); System.out.println(jsonObj); //输出结果 {"options":[{"optValue":"1","optText":"1Text"},{"optValue":"2","optText":"2Text"},{"optValue":"3","optText":"3Text"}]} /*嵌套生成json*/ JSONObject tobj = new JSONObject(); JSONArray tarr = new JSONArray(); tobj.put("name", "zhangsan"); tobj.put("age", 29); tarr.add(tobj); tarr.add(obj); System.out.println(tarr); //[{"name":"zhangsan","age":29},{"sex":"man","age":24,"name":"Ren"}] tobj.put("other", tarr); System.out.println(tobj); //输出结果 {"name":"zhangsan","age":29,"123":[{"name":"zhangsan","age":29},{"sex":"man","age":24,"name":"Ren"}]} /*json的遍历(单层)*/ String jsonString = tobj.toString(); JSONObject jsonObject = JSONObject.fromObject(str); Iterator keyIter = jsonObject.keys(); while( keyIter.hasNext()) { String key = (String)keyIter.next(); Object value = jsonObject.get(key); System.out.println(key + "--==" + value); /*测试递归遍历json(多层)*/ System.out.println("---------------------------------------------------------"); getJsonValue(str); * 递归遍历json所有子条目 public static String getJsonValue(String json) { if(!json.contains("{") && !json.contains("[") && json.contains(":")) { return json; } else if(json.equals("")){ return json; } else if(json.trim().charAt(0) == '{'){ String value = null; JSONObject jsonObject = JSONObject.fromObject(json); Iterator keyIter = jsonObject.keys(); while( keyIter.hasNext()) { String key = (String)keyIter.next(); value = jsonObject.get(key).toString(); getJsonValue(value); if(!value.contains("{") && !value.contains("[")) { System.out.println(key + " = " + value); return value; } else if(json.trim().charAt(0) == '[') { String value = null; JSONArray jsonArr = JSONArray.fromObject(json); for (int i = 0; i < jsonArr.size(); i++) { value = jsonArr.getJSONObject(i).toString(); getJsonValue(value); if(!value.contains("{") && !value.contains("[")) { System.out.println("----"+value); return value; } else { return "error";
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
* JSON实际上也是键值对("key":"value") * key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null) * value如果是字符串,用jsonobj.getString("key")获取 * value如果是数 字,用jsonobj.getIntValue("ke...
Java Fastjson是一种快速解析JSON数据的工具,可以轻松地将JSON数组转换为Java对象。使用Fastjson,您可以通过以下步骤解析JSON数组: 1. 导入Fastjson库 2. 创建JSON字符串 3. 使用FastjsonJSON字符串转换为Java对象 4. 遍历Java对象,获取JSON数组中的数据 例如,以下是一个简单的示例代码,演示如何使用Fastjson解析JSON数组: import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class JsonArrayDemo { public static void main(String[] args) { String jsonStr = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"; JSONArray jsonArray = JSON.parseArray(jsonStr); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String name = jsonObject.getString("name"); int age = jsonObject.getIntValue("age"); System.out.println("name:" + name + ", age:" + age); 在上面的示例中,我们首先创建了一个JSON字符串,其中包含两个对象。然后,我们使用Fastjson的`parseArray`方法将JSON字符串转换为JSONArray对象。接下来,我们遍历JSONArray对象,并使用`getJSONObject`方法获取每个对象。最后,我们从每个对象中获取`name`和`age`属性的值,并将它们打印到控制台上。 希望这个简单的示例能够帮助您了解如何使用Java Fastjson解析JSON数组
CSDN-Ada助手: 嗨~好久未见你更新博文了,我们现在上线了AI创作助手哦~可为你的创作提供智能化帮助,快来试试吧~https://editor.csdn.net/md/?not_checkout=1&utmsource=blog_comment_recall,在编辑器页面右侧哦~~限免!! 同时我们为您准备了一份回归奖励,快来看看吧https://activity.csdn.net/creatActivity?id=10430&utmsource=blog_comment_recall Java环境下用SM2或者RSA格式生成P10 不好意思,时间长了,手上没有源码了表情包表情包表情包 Java环境下用SM2或者RSA格式生成P10 fisher_40: 博主,能发一个全的吗? VUE中el-table-column列实现隐藏 tainanle、: 我 v-show 也是无效的,解决了嘛?
 
推荐文章