如何访问 json 数据中的嵌套数组

2024-04-18

我想访问leagueTable此数组内JSON数据。缩短的JSON看起来像这样,每个数组并不显示所有数据以保存滚动

如何访问 leagueTable 数组中的值?

 {
   "data":{
      "fixtures":[
         {
            "fixtureId":"4950418",
            "fixtureDate":1535806800,
            "fixtureStatus":"result",
            "fixtureComment":"",
            "competitionId":"131409",
            "competitionName":"DAWFL Reserve Division 1",
            "competitionShortName":"Res 1",
            "competitionGroupId":"",
            "seasonId":"2000",
            "compYear":"2018",
            "ageid":"3870",
            "ageName":"Div",
            "gender":"m",
            "round":null,
            "adminnote":"",
            "metaData":"",
            "competitioncomment":"02 Oct 2018 - Clonduff II deducted 3 points - Misconduct (Rule 13.13.1)",
            "competitionDispResults":"1",
            "homeTeam":"3rd Bangor II",
            "awayTeam":"Newtown Forest II",
            "homeClub":"3rd Bangor",
            "awayClub":"Newtown Forest",
            "homeClubAlternateName":"",
            "awayClubAlternateName":"",
            "homeTeamId":"223739",
            "awayTeamId":"223754",
            "homeClubId":"48049",
            "awayClubId":"48069",
            "homeClubLogo":"http:\/\/sportlomo-userupload.s3.amazonaws.com\/clubLogos\/48049\/3rdBangorOB.jpg",
            "awayClubLogo":"",
            "scoreMetadata":[

            ],
            "homeScore":"0;",
            "awayScore":"2;",
            "venue":"Valentines Playing Fields",
            "venuePostalCode":"",
            "homeDrop":null,
            "homePen":null,
            "homeConv":null,
            "awayDrop":null,
            "awayPen":null,
            "awayConv":null,
            "officials":{
               "Referee":null,
               "Referee2":null,
               "Assessor":null,
               "Results Official":null
            },
            "matchOfficials":{
               "refid":{
                  "role":null,
                  "name":"3rd Bangor OB II (Pending)",
                  "refID":"54540"
               }
            }
         }
],
"leagueTable":[
         {
            "Pen":0,
            "Drop":0,
            "Conv":0,
            "team_id":223750,
            "club_id":"48065",
            "club_logo":"",
            "team":"Comber YM II",
            "played":15,
            "gamesWon":14,
            "gamesDraw":0,
            "gameLost":1,
            "pointsFor":59,
            "scoredraw":0,
            "pointsAgainst":11,
            "pointsDifference":48,
            "goalsFor":59,
            "goalsAgainst":11,
            "goalsDifference":48,
            "bonusPoints":0,
            "bonusPointsW":0,
            "bonusPointsL":0,
            "bonusPointsM":0,
            "winsPercentage":"0.933",
            "teamDeduction":0,
            "setQuotient":0,
            "points":42,
            "scoresFor":0,
            "scoresAgainst":0,
            "3-0":0,
            "3-1":0,
            "3-2":0,
            "2-3":0,
            "1-3":0,
            "0-3":0,
            "gamesBehind":0,
            "fpp":5
         }
 ]
   },
   "settings":{
      "columns":{
         "team":"Team",
         "played":"Pld",
         "gamesWon":"W",
         "gameLost":"L",
         "gamesDraw":"D",
         "pointsFor":"+",
         "pointsAgainst":"-",
         "pointsDifference":"+\/-",
         "points":"Pts"
      },
      "split":"{}",
      "doleaguetable":"yes",
      "type":"league",
      "competitionName":"DAWFL Reserve Division 1",
      "displayResults":"1",
      "displayLeagueTable":"1",
      "displayTeams":"1",
      "displayStats":"1",
      "displayFormGuide":"1",
      "logo":"http:\/\/sportlomo-userupload.s3.amazonaws.com\/competitions\/131409_",
      "scoreFormat":"gaa1",
      "dateFormat":"EU"
   }
}

我一直在使用Gson
(dataRead 是字符串形式的 json 数据)

System.out.println(dataRead);
        Data data = new Gson().fromJson(dataRead, Data.class);
        System.out.println(data.leagueTable[0].team);

My Data类看起来像这样

public class Data {
    LeagueTable[] leagueTable;

    public Data(LeagueTable[] leagueTable) {
        this.leagueTable=leagueTable;
    }


    public static class LeagueTable{
        String team;
        int played, gamesWon, gamesDraw, gameLost, goalsFor, goalsAgainst, goalsDifference, points;
        public LeagueTable(String team, int played, int gamesWon, int gamesDraw, int gameLost, int goalsFor,
                int goalsAgainst, int goalsDifference, int points) {
            this.team = team;
            this.played = played;
            this.gamesWon = gamesWon;
            this.gamesDraw = gamesDraw;
            this.gameLost = gameLost;
            this.goalsFor = goalsFor;
            this.goalsAgainst = goalsAgainst;
            this.goalsDifference = goalsDifference;
            this.points = points;
        }


    }
}

我应该得到Comber YM II但我不断得到NullPointerException.


你需要创建Root类包含data财产。见下图型号:

class Root {

    private Data data;

    // getters, setters, toString
}

class Data {
    LeagueTable[] leagueTable;

    // getters, setters, toString

    public static class LeagueTable{
        String team;
        int played, gamesWon, gamesDraw, gameLost, goalsFor, goalsAgainst, goalsDifference, points;

        // getters, setters, toString
    }
}

您可以按如下方式反序列化它:

Data data = new Gson().fromJson(dataRead, Root.class).getData();

也可以看看:

  • 反序列化 json 时跳过根元素 https://stackoverflow.com/questions/12004338/skip-root-element-while-deserializing-json
  • Gson 反序列化食谱 https://www.baeldung.com/gson-deserialization-guide
  • JSON 对象数组转 Java POJO https://stackoverflow.com/questions/55248523/array-of-json-object-to-java-pojo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 json 数据中的嵌套数组 的相关文章

  • 当按下批准或取消按钮时,如何阻止 JFileChooser 关闭?

    我使用 JFileChooser 的 showOpenDialog 方法来打开文件 如何将 ActionListener 附加到批准按钮JFileChooser以及如何停止这个对话框 单击 批准 按钮且侦听器完成后关闭 现在我有 publi
  • 编写代码来处理单词列表并删除单词中的所有空格

    该代码应该检查字符串数组并查看单词之间是否有空格 这是一个例子 every near ing checking food stand value 应改为hold every nearing checking food stand value
  • 使用 ActionBar 选项卡进行导航时菜单会折叠

    我已经使用支持库中的 ActionBar 来将我的应用程序构建为选项卡式导航栏 我的应用程序中有两个选项卡 这两个片段都有菜单 并且有一个菜单项 我想将其显示为操作栏中的一项操作 但由于某种原因 显示了溢出图标 而不是分配给这些项目的图标
  • maven依赖插件忽略依赖版本? [复制]

    这个问题在这里已经有答案了 在我看来 maven 依赖插件在计算依赖列表时行为不当 假设这 3 个项目 base1
  • Javafx-场景快照不显示值和系列

    我制作了一个非常短的应用程序 它使用 javafx 生成图表 应用程序显示正确的值 图表 但当我做快照时 图像仅显示轴和标签 但不显示系列和值 stage setTitle Line Chart Sample final DateAxis
  • 如何在java中使用模式匹配器?

    假设字符串是我想提取xyz从字符串中出来 我用了 Pattern titlePattern Pattern compile lttitle gt s s lt title gt Matcher titleMatcher titlePatte
  • 正则表达式删除2个字符串之间的所有内容

    我的replaceAll 需要一个正则表达式来删除2 个字符串和字符串本身之间的所有内容 例如 如果我有类似的东西 stackoverflow is really awesome nremove123 n I love it 我试图做一个像
  • spring roo vs appfuse 生成服务/dao 层

    我正在寻找有经验的用户对 spring roo 和 appfuse 的反馈 您认为逆向工程数据库表和生成服务层 dao 层和 jpa 实体哪一个更好 如果我没记错的话 spring roo 目前无法对数据库进行逆向工程 只是一个快速更新 通
  • 了解 Android 上的默认键盘

    我想知道 Android 中用户选择的默认键盘 我知道我可以使用以下命令访问启用的输入法列表InputMethodManager 但我想知道用户当前使用的是哪一个 到目前为止 我已经尝试获取当前的输入法子类型 InputMethodMana
  • Android MediaCodec 在异步模式下比同步模式下慢?

    再次 我有一个关于 Android 的 MediaCodec 类的问题 我已成功解码原始 h264 内容并将结果显示在两个纹理视图中 h264 流来自运行 openGL 场景的服务器 该场景有一个摄像头 因此可以响应用户输入 为了进一步减少
  • Hibernate 验证器:违规消息语言

    我有一个测试类 我正在测试一个域模型 该模型用例如注释 NotNull 在我的测试课中 我首先得到验证器 private static Validator validator BeforeClass public static void s
  • C# - 如何在变量名中使用无效字符

    在 C 中 我正在构建一个类 出于讨论目的而在此处进行了简化 该类最终将被序列化为一些外部定义的 JSON schema http example com person json name John age 86 在我的代码中我会有类似的内
  • Java 数组返回奇怪的输出[重复]

    这个问题在这里已经有答案了 我正在为家庭作业问题创建一个方法 该方法返回数组中的最高值 我正在使用一个 for循环将数字输入到数组中 输入代码如下所示 int array new int n for i 0 i
  • 在JPA、关系型数据库等中,什么是Tuple? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在研究 Hibernate 和 JPA 并且一直在寻找这个术语 有人可以用实用和说教的方式向我解释一下这个术语是什么 以及它与 J
  • 如何从github项目获取jar? [复制]

    这个问题在这里已经有答案了 我想使用官方网站上的 kSoap2 android 库http simpligility github io ksoap2 android index html http simpligility github
  • java.lang.NoSuchFieldError:APPLICATION_CONTEXT_ID_PREFIX

    我在运行项目时收到此错误 最终结果为 404 该项目是在Spring框架上进行的 我读了很多帖子 发现要么是混合了罐子 要么是多余的罐子 接下来我尝试整理我的罐子 以下列表是我的构建路径中的内容 antlr 2 7 6 jar asm ja
  • JavaScript 从 json 迭代键和值? [复制]

    这个问题在这里已经有答案了 我正在尝试迭代以下 json VERSION 2006 10 27 a JOBNAME EXEC JOBHOST Test LSFQUEUE 45 LSFLIMIT 2006 10 27 NEWUSER 3 NE
  • 如何将java数组列表转换为javascript数组? [复制]

    这个问题在这里已经有答案了 我们如何将 String 对象的 java arraylist 转换为 javascript 数组 这就是我正在做的事情 但我正在寻找更好的方法来做到这一点 我不想迭代数组列表 var myArray
  • jtree 编程式多选

    是否能够以编程方式选择 JTree 中的多个树节点 我已经设置了多选模式tree getSelectionModel setSelectionMode TreeSelectionModel DISCONTIGUOUS TREE SELECT
  • 是否有可能构建一个可以通过浏览器运行的网络自动化?

    我创建了一个 Java 程序 它使用镀铬驱动程序 https chromedriver chromium org Selenium https www seleniumhq org and Java Excel API http jexce

随机推荐

  • NSIS 滚动许可证欢迎屏幕

    我的安装程序在与滚动许可证插件交互时遇到问题 安装程序在没有插件的情况下也能很好地工作 这就是插件让我包括的内容 include MUI nsh define MUI PAGE CUSTOMFUNCTION SHOW LicenseShow
  • 如何限制循环的迭代次数?

    假设我有一个项目列表 我想迭代其中的前几个 items list range 10 I mean this to represent any kind of iterable limit 5 简单的实现 来自其他语言的 Python 新手可
  • 从 Octave 导出的图中具有透明背景

    我在 Win 10 下使用便携式 Octave 5 1 0 我的意思是写一个具有透明背景的 png 绘图 免责声明 这个问题与下面链接的两个问题类似 我选择了提出当前不同的问题 https meta stackoverflow com qu
  • GCE - HTTP 负载平衡返回错误 502(错误网关) - 仅当通过 C# 发布时

    我们有一个 C 应用程序 可以获取数据并将其发布到我们的网站 在使用 Compute Engine 测试 HTTP 负载平衡时 我们遇到的唯一问题是当 C 应用程序尝试提交数据时返回 502 Bad Gateway HTTP 负载平衡中是否
  • 将名字和姓氏添加到 Django-Registration

    我使用的是默认的Djangoregistration 版本 0 8 在我的项目中 用户只需输入他们的用户名 电子邮件和密码 但是 我希望用户也在注册页面上输入他们的名字和姓氏 我怎样才能轻松做到这一点 您可以做的是覆盖默认的 UserReg
  • numpy reshape 是如何工作的?

    我有一个 numpy 数组中的数据 a np arange 100 a a reshape 20 5 当我打字时 a 10 它返回 array 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1
  • 为什么 sscanf() 不将 CSV 文件中的行读入数组?

    我正在尝试将 CSV 文件中的整数读入二维数组 这是我的代码 FILE fp fopen argv 1 r int counter 0 char line 50 while fgets line 50 fp counter int arry
  • msscript.ocx 从哪里安装

    我在我的应用程序中使用 msscript ocx 它是 Windows 的 ActiveX 脚本主机 尽管我希望能够对高度可定制的 XP 嵌入式 XPe 使用相同的功能 1 我想知道在XPe上是否可以选择性安装msscript ocx 2
  • 为什么我的 Android 应用程序(具有 root 权限)无法访问 /dev/input?

    我的应用程序针对已root的Android设备 它具有root权限并且需要访问该目录 dev input 但为什么它会抛出opendir failed Permission denied even dev input已经是chmod to
  • 读取 bash 脚本中 psql 返回的错误

    我需要在从 bash 脚本运行 psql 时检查错误 这是我们如何在脚本中运行的示例 return value psql X POSTGRES CONNECTION STRING f build table sql w b A q t ps
  • jQuery + JSONP + 雅虎查询语言

    我想从外部来源获取实时汇率 所以我找到了这个很棒的网络服务 该服务运行得非常出色 唯一的缺点是它不提供 JSONP 结果 仅提供 XML 因此 在尝试使用 jQuery ajax 使用此 Web 服务时 我们遇到了跨浏览器问题 所以我发现雅
  • 扩展 Mandelbrot 生成 Julia

    在一个项目上工作 要求我使用相同的代码 请注意在同一个文件中生成曼德尔布罗集和朱莉娅集 我有一个工作曼德尔布罗集 但可以看到如何使用相同的代码扩展到朱莉娅集 也许我没有理解之间的区别 谁能详细说明一下 import numpy as np
  • src 和 data-src 属性之间有哪些区别?

    使用两者有何区别和后果 好与坏 data src or src的属性img标签 我可以使用两者获得相同的结果吗 如果是这样 什么时候应该使用它们 属性src and data src没有任何共同点 除了它们都被 HTML5 CR 允许并且它
  • 相机视图上的水印图像偏移

    我创建了一个覆盖图像用作水印 但图像发生了偏移 我已经将代码放在下面 该代码基于 Ivan Karpan 的这篇文章 iPhone 相机视图上的实时水印图像 https stackoverflow com questions 2076456
  • Ruby on Rails:如何将文件呈现为纯文本(没有任何 HTML)

    如何在 Rails 中将文件渲染为纯文本 文本 不渲染任何 HTML 我试过了 render file path to file layout false and render file path to file content type
  • ascx 的视图状态在回发之间丢失

    在我的 ASP NET 应用程序中 我使用 LoadControl 动态加载 ascx 使用以下模式 var ctrl LoadControl path to control ascx ControlType ctrl SomeProper
  • 对象销毁对于加密目的可靠吗?

    作为后续这个问题 https stackoverflow com questions 57515813 我正在想象一个存储敏感数据 例如加密密钥 的类 为了简化事情 假设不涉及继承 struct Credential std array
  • awk 有条件地组合多行

    我想将多行不同长度的值合并到一行 如果它们与 ID 匹配 输入示例是 ID Value a 1 49 a 2 75 b 1 120 b 2 150 b 3 211 c 1 289 d 1 301 d 2 322 所需的输出示例是 ID Va
  • AngularJS 中的 IE11 访问被拒绝

    每个开发管道都有 2 个部分 首先努力工作并开发应用程序 其次要更加努力 让它兼容伟大的IE 我们有一个AngularJS v1 3 13 没有任何服务器端代码开发的应用程序Webstorm 我们在做REST致电服务 我们的应用程序在 Ch
  • 如何访问 json 数据中的嵌套数组

    我想访问leagueTable此数组内JSON数据 缩短的JSON看起来像这样 每个数组并不显示所有数据以保存滚动 如何访问 leagueTable 数组中的值 data fixtures fixtureId 4950418 fixture