java - GSON 解析索引 JSON

标签 java gson

我查看了 GSON 来解析我的一些 JSON 对象。但是,这个特定的 JSON 对象的索引如下:

{
    {
        "1":
            {"name":"Mike","age":"27"},
        "2":
            {"name":"Sarah","age":"23"},
        "3":
            {"name":"Jenny","age":"19"},
        "4":
            {"name":"Joe","age":"24"},
        "5":
            {"name":"Bob","age":"21"},

            ...and so on
    }
}

据我了解,每个键都对应于相应 GSON 对象的变量名。例如,对于“5”,我会有这样一个类:

public class Person {
    private String name;
    private int age;
}

但是,在这种情况下,我将如何处理“1”、“2”、“3”、“4”和“5”?可以有任意数量的索引,所以我不能简单地将变量命名为“1”、“2”、“3”、“4”和“5”(这违反了变量命名规则)。在这种情况下,GSON 可以帮助我吗?

最佳答案

尝试反序列化为 Map。你需要使用 Gson 的 TypeToken类以获取对参数化类型的引用:

Type type = new TypeToken<Map<String, Person>>() {}.getType();
Map<String, Person> people = gson.fromJson(json, type);

关于java - GSON 解析索引 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866206/

相关文章:

java - 处理 Java RestClient 中的异常

java - 使用 Gson 反序列化 JSON

java - Google GSON 不解析从 C# 网站中的 WebMethod 检索到的 Java 中的 JSON

android - Cypher SharedPreferences JSON 对象

android - 使用 GSON 解析多个对象

java - LinkedHashMap 的这个包装线程安全吗?如果不是,它怎么能成为线程安全的呢?

Java -cp 目录不工作,文件工作正常

java - 实例方法: complex numbers

java - 如何将任意 JSON 转换为 Java 中可用的结构

java - 创建可点击的 JButton 矩阵