【问题标题】:Struggling to parse response from API service努力解析来自 API 服务的响应
【发布时间】:2020-03-10 21:06:59
【问题描述】:

努力解析来自 API 服务(GraphQL / JSON)的看似简单的响应。响应是基于HTTP request 检索为String,并尝试了不同的方法(使用JsonObject/JsonParseJsonArrayfrom com.google.gsonlibrary 将所需的字符串元素获取到String,尽管无法提取任何内容。

有人愿意分享如何从下面显示的响应中解析和获取"total""startsAt" 的建议吗?

{
"data": {
    "viewer": {
        "homes": [
            {
                "currentSubscription": {
                    "priceInfo": {
                        "current": {
                            "total": 0.5626,
                            "energy": 0.4336,
                            "tax": 0.129,
                            "startsAt": "2019-11-14T20:00:00+01:00"
                        }
                    }
                }
            }
        ]
    }
}

}

【问题讨论】:

  • 您检查以下答案了吗? @Stian Kjøglum

标签: json parsing graphql


【解决方案1】:

可以这样获取json值

将响应分配给一些变量,例如 res。

例如:

var res = {
         "data": {
            "viewer": {
               "homes": [
                  {
                     "currentSubscription": {
                         "priceInfo": {
                             "current": {
                               "total": 0.5626,
                               "energy": 0.4336,
                               "tax": 0.129,
                               "startsAt": "2019-11-14T20:00:00+01:00"
                             }
                          }
                      }
                  }
                ]
           }
       }

 var total=res.data.viewer.homes[0].currentSubscription.priceInfo.current.total;

 var startAt = res.data.viewer.homes[0].currentSubscription.priceInfo.current.startsAt;

 console.log('total is: ',total);
 console.log('startsAt: ', startsAt)

【讨论】:

  • 感谢您的提议。虽然,使用 ...res.data.viewer... 的建议解决方案对我不起作用,因为“数据”被突出显示为未初始化的变量。我的解决方案是使用嵌套树中的 getAsJsonObject: JsonObject newObject = (JsonObject) Object.getAsJsonObject("data").getAsJsonObject("viewer") .getAsJsonArray("homes").get(0);
  • 不管怎样,你有你的解决方案,继续努力:)
猜你喜欢
  • 2019-10-17
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多