【问题标题】:How to handle a unique dynamic ID in a JSON object?如何处理 JSON 对象中的唯一动态 ID?
【发布时间】:2020-04-15 13:15:28
【问题描述】:

我是 json 处理的新手,我正在使用改造来查询 API。这是我从 API 获得的 JSON。每次我从 URL https://r6.apitab.com/search/uplay/{username} 更改用户名时,ID“f9dcf2ef-8647-46c1-b1cc-7e2bb6c3caa2”都会改变。

 {
  "status": 200,
  "foundmatch": true,
  "requested": "iishiro_o",
  "players": {
    "f9dcf2ef-8647-46c1-b1cc-7e2bb6c3caa2": {
      "profile": {
        "p_name": "IIShiro_o",
        "p_user": "f9dcf2ef-8647-46c1-b1cc-7e2bb6c3caa2",
        "p_platform": "uplay",
        "verified": false
      },
      "refresh": {
        "x": 0,
        "s": 0
      },
      "stats": {
        "level": 127
      },
      "ranked": {
        "kd": 1.27,
        "mmr": 2820,
        "rank": 15,
        "champ": 0,
        "NA_mmr": 0,
        "NA_rank": 0,
        "NA_champ": 0,
        "EU_mmr": 0,
        "EU_rank": 0,
        "EU_champ": 0,
        "AS_mmr": 2820,
        "AS_rank": 0,
        "AS_champ": 0
      }
    }
  }
}

我使用生成的 POJO 类来获取我的数据,但由于 ID 会动态更改并且我不知道 IDS。我将如何查询 API 以获取数据?老实说,我只需要获取 ID 就可以通过这个 URL https://r6.apitab.com/player/{ID} 查询 API 以获取更详细的数据。

final Retrofit retrofit1 = new Retrofit.Builder()
        .baseUrl("https://r6.apitab.com/search/uplay/")
        .addConverterFactory(GsonConverterFactory.create())
        .build();

R6TabWireApi r6TabWireApi = retrofit1.create(R6TabWireApi.class);
Call<RainbowSixUser> call = r6TabWireApi.getUserId(userName);

How my POJO looks like.

【问题讨论】:

  • 你能把这门课展示给R6TabWireApi吗?
  • 它是用于改造的界面。 prnt.sc/rzwnj1

标签: java android json retrofit httprequest


【解决方案1】:

您的示例 json 的 Pojo 可能如下所示:

class Pojo {

     // fields like status, foundmatch, etc.

     public Map<String, PlayerPojo> players;

     // other fields
}

这样您就可以访问pojoInst.players.values() 来获取玩家列表。

【讨论】:

  • 感谢您的评论,我试图使用您的方法,但后来我意识到使用自动生成的 pojoClasses 是错误的,我自己制作了简单的 pojo 直到玩家因此只给了我 ID。然后我将使用 regex 和 indexOf 来获取 ID 并获取我的数据。
猜你喜欢
  • 1970-01-01
  • 2020-04-08
  • 2017-11-24
  • 2016-02-22
  • 2021-12-13
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
相关资源
最近更新 更多