【发布时间】:2013-12-07 14:06:15
【问题描述】:
我有类似这样的 JSON:
{
"unknown_field": {
"field1": "str",
"field2": "str",
"field3": "str",
"field4": "str",
"field5": "str"
}, ......
}
我创建了类来映射这个 json
public class MyModel implements Serializable {
private int id;
private HashMap<String, Model1> models;
// getters and setter for id and models here
}
Model1 类是一个只有字符串字段的简单类。
但它不起作用。
编辑:JSON format 看起来像这样:
{
"1145": {
"cities_id": "1145",
"city": "Nawanshahr",
"city_path": "nawanshahr",
"region_id": "53",
"region_district_id": "381",
"country_id": "0",
"million": "0",
"population": null,
"region_name": "Punjab"
},
"1148": {
"cities_id": "1148",
"city": "Nimbahera",
"city_path": "nimbahera",
"region_id": "54",
"region_district_id": "528",
"country_id": "0",
"million": "0",
"population": null,
"region_name": "Rajasthan"
},
...
}
【问题讨论】:
-
只需将其解析为地图即可。
-
我做到了,但没有结果。此方法 - gson.fromJson(json, MyModel.class) 返回 null
-
加上“unknown_field”,是不是说这个对象在JSON字符串中的名字可以不一样?
-
因为您没有将其解析为 Map。 Gson 必须有一个普通的解析器模式,它将生成一个没有模型类的 Map 或 List。