【发布时间】:2017-05-31 13:23:48
【问题描述】:
我正在尝试学习 JSON 解析,并且出现了一个关于如何解析 JSON 的快速问题,其中“类别”名称可以根据来自外部 API(特别是我正在玩的视频游戏 API)的请求而更改与)。
作为一个随机示例,使用“laofuthetiger”作为 URI 发送 API 请求会返回如下所示的 JSON:
{ "laofuthetiger": {
"id": 51044840,
"name": "Lao Fu the Tiger",
"profileIconId": 664,
"revisionDate": 1484537981000,
"summonerLevel": 30
}}
将 URI 更改为“sloverlord”会产生以下结果:
{ "sloverlord": {
"id": 39943538,
"name": "sloverlord",
"profileIconId": 712,
"revisionDate": 1484537981000,
"summonerLevel": 30
}}
根据我对使用 GSON 解析 JSON 的基本理解,我可以通过一个如下所示的类从第一个 JSON 示例中收集数据:
public class Player{
private SummonerDto laofuthetiger;
...
其中 SummonerDto 包含单个元素 id、名称等。但是,我不知道如何处理 API 调用之间的实际“类别”(或无论如何调用)变化。使用此解决方案,使用 laofuthetiger 的调用可以正常工作,但 sloverlord 会由于显而易见的原因返回内部错误。
编辑:有关更多信息,URI 如下所示:dev.host.com/get_player_by_name/laofuthetiger?api_key=XXXXX 其中“laofuthetiger”可以是任何玩家名称。
【问题讨论】:
-
可以更改 API 响应吗?
-
如果更改 API 响应是指重新格式化它,那么不; API 完全是外部的,不受我的控制:/
-
如果您使用的是 Jackson:stackoverflow.com/questions/17685508/…