所以我从 Nest API 得到了这个有趣的 Json,我需要解析它,但遇到了困难。显然,我无法控制 JSON。
{
"uyuyuyuuyieiehuhuhuhenne": {
"name": "Cabin",
"country_code": "US",
"postal_code": "94304",
"time_zone": "America/Los_Angeles",
"away": "home",
"structure_id": "uyuyuyuuyieiehuhuhuhenne"
},
"ryryryyryryyryrryyryryyr": {
"name": "Boulder Home",
"country_code": "US",
"postal_code": "80302",
"time_zone": "America/Denver",
"away": "away",
"structure_id": "ryryryyryryyryrryyryryyr"
}
}
对象名称是对象的 ID。我有一个名为“结构”的对象,其中包含一个列表,但我在结构的转换中没有得到任何结果。
最佳答案
假设你有一个像这样的 POJO:
@Getter
public class Structure {
private String name;
private String country_code;
private String postal_code;
private String time_zone;
private String away;
private String structure_id;
}
您可以使用 Gson TypeToken
将此 JSON 反序列化为 Map
,如下所示:
Type t = new TypeToken<Map<String, Structure>>() {}.getType();
Map<String, Structure> map = new Gson().fromJson(JSON, t);
换句话说,您的 JSON 是 Structure
的映射,其中每个 Structure
的 structure_id
作为键。
关于java - 反序列化以对象 ID 作为对象名称的 JSON 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140848/