我查看了 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/