使用 gson 和 Retrofit 2 将所有 JSON 存储在 Map 中

zun*_*ndi 4 json dictionary gson retrofit retrofit2

我使用 Retrofit 从 API 获取 JSON 值。然而,由于每次请求数据时实际的键都会不同,因此我想将所有内容存储在映射中。使用 Gson 作为解析器可以吗?

例如:访问#1:

{
    "name": "Toby",
    "color": "blue"
}
Run Code Online (Sandbox Code Playgroud)

访问#2:

{
    "game": "Soccer",
    "day": "Monday"
}
Run Code Online (Sandbox Code Playgroud)

而不是创建一个类,例如

class MyValues {
    public String name;
    public String color;
}
Run Code Online (Sandbox Code Playgroud)

这是不可能的,因为密钥总是不同的,我想要类似的东西:

class MyValues {
    public Map<String, String> myMap;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

iag*_*een 5

是的,您不需要该类MyValues,您可以将其用作Map<String, String>您的改造的参数类型Call。--

@GET("/")
Call<Map<String, String>> myCall();
Run Code Online (Sandbox Code Playgroud)