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

标签 json dictionary gson retrofit retrofit2

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

例如:
访问#1:

{
    "name": "Toby",
    "color": "blue"
}

访问#2:
{
    "game": "Soccer",
    "day": "Monday"
}

而不是创建一个类,例如
class MyValues {
    public String name;
    public String color;
}

这是不可能的,因为键总是不同的,我想要这样的:
class MyValues {
    public Map<String, String> myMap;
}

谢谢!

最佳答案

是的,您不需要 MyValues类,你可以只使用 Map<String, String>作为改造的参数类型 Call . ——

@GET("/")
Call<Map<String, String>> myCall();

关于json - 使用 gson 和 Retrofit 2 将所有 JSON 存储在 Map 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35145264/

相关文章:

python - 在 Python3 中按索引访问 dict_keys 元素

java - 为具有不同对象的嵌套 json 改造 gson 转换器

javascript - chrome.pageAction.show() 在 tabs.onCreated 监听器中不起作用

python - 我需要一种方法将多个键映射到字典中的相同值

javascript - 如何使用json从php页面获取两个或多个数组数据到javascript

arrays - Swift 数组循环一次,写很多

java - 使用 Gson 读取数据时避免从整数进行双重转换

android - Gson 。将带有字符 = 的密码转换为 JSON

python - 根据 JSON 中的字符串匹配创建新的 Pandas 列

jquery - 格式错误的 Rails JSON 和 jQuery