为了账号安全,请及时绑定邮箱和手机立即绑定

访问要存储在 AWS Dynamo 数据库表中的嵌套 JSON 对象

访问要存储在 AWS Dynamo 数据库表中的嵌套 JSON 对象

红糖糍粑 2023-09-06 16:14:27
我希望访问休息请求中的嵌套 JSON 对象,以将其存储为 AWS 上的 Dynamo DB 表中的主键。Json 对象的格式如下:{ "api": {    "results": 543,    "fixtures": [      {        "fixture_id": 95095,        "venue": "Estádio Rei Pelé",        "goalsHomeTeam": 1,        "goalsAwayTeam": 1,        "awayTeam": {          "logo": "https://media.api-football.com/teams/156.png",          "team_id": 156,          "team_name": "Sao Bento"        },        "event_timestamp": 1569715200,        "referee": null,        "elapsed": 90,        "score": {          "halftime": "0-0",          "penalty": null,          "fulltime": "1-1",          "extratime": null        },        "round": "Regular Season - 25",        "event_date": "2019-09-29T00:00:00+00:00",        "statusShort": "FT",        "homeTeam": {          "logo": "https://media.api-football.com/teams/146.png",          "team_id": 146,          "team_name": "CRB"        },我正在尝试使用以下代码访问它,但我NullPointerException在第 38 行上得到了一条信息,即以下开始的行int fixture_id。我的代码如下:JsonParser parser = new JsonFactory().createParser(new File("fixturesTwo.json"));    JsonNode rootNode = new ObjectMapper().readTree(parser);    Iterator<JsonNode> iter = rootNode.iterator();    ObjectNode currentNode;    while (iter.hasNext()) {        currentNode = (ObjectNode) iter.next();        int fixture_id = currentNode.path("api").findPath("fixtures").findValue("fixture_id").asInt();        int league_id = currentNode.path("api").findPath("fixtures").findValue("league_id").asInt();我猜这与我正在做的事情类似,我只是不知道我做错了什么。
查看完整描述

1 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

rootNode 有节点“API”。currentNode:


{

   "results":543,

   "fixtures":[

      {

         "fixture_id":95095,

         "venue":"Estádio Rei Pelé",

         "goalsHomeTeam":1,

         "goalsAwayTeam":1,

         "awayTeam":{

            "logo":"https://media.api-football.com/teams/156.png",

            "team_id":156,

            "team_name":"Sao Bento"

         },

         "event_timestamp":1569715200,

         "referee":null,

         "elapsed":90,

         "score":{

            "halftime":"0-0",

            "penalty":null,

            "fulltime":"1-1",

            "extratime":null

         },

         "round":"Regular Season - 25",

         "event_date":"2019-09-29T00:00:00+00:00",

         "statusShort":"FT",

         "homeTeam":{

            "logo":"https://media.api-football.com/teams/146.png",

            "team_id":146,

            "team_name":"CRB"

         }

      }

   ]

}

正确的代码:


int fixture_id = currentNode.path("fixtures").findValue("fixture_id").asInt();


查看完整回答
反对 回复 2023-09-06
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信