【发布时间】:2016-12-21 00:21:00
【问题描述】:
所以,我有一个依赖于路径的 API 将返回该月的 JSON 数组,通常格式如下:
{
"January": []
}
我想编写一个 Retrofit 调用(也使用 RxJava,但我认为这无关紧要),但是因为我可以有 1 月、2 月等……我不知道要写什么类。我可以破解这样的东西:
public class JanuaryEvents {
public List<Events> January;
}
在我的服务中这样做:
@GET("{year}/{month}.json")
Call<JanuaryEvents> getEvents(@Path("year") String year,
@Path("month") String month);
但显然,如果不创建 12 个不同的调用,这将无法持续几个月,这看起来令人讨厌,必须有更好的方法。
我能做什么?
编辑:我刚刚发现,如果我执行Call<Object>,它会将其分配给我可能会使用的 LinkedTreeMap。你认为这是要走的路吗?我可以接受Call<LinkedTreeMap> 并从第一个节点获取项目。
【问题讨论】:
-
看看谁在这里吧?你不能对此进行逆向工程吗?像打印出 json Log 这样你就知道关键了?
-
@Eenvincible 可以,但是key不一致。所以我想我可能不得不改变它来接受 LinkedTreeMap 或 Object 并自己改变它。
-
好的,我相信这可以工作
标签: android json retrofit rx-java