我在将 JSON 文件读入 POJO 时遇到问题。让我给你一个我的 JSON 文件的片段:
{
"Speidy": {
"factionId": "2",
"role": "ADMIN",
"title": "",
"power": 9.692296666666667,
"powerBoost": 0.0,
"lastPowerUpdateTime": 1337023306922,
"lastLoginTime": 1337023306922,
"chatMode": "PUBLIC"
},
"ShadowSlayer272": {
"factionId": "2",
"role": "NORMAL",
"title": "",
"power": 0.8673466666666667,
"powerBoost": 0.0,
"lastPowerUpdateTime": 1336945426926,
"lastLoginTime": 1336945426926,
"chatMode": "PUBLIC"
},
我的问题是第一个“节点”是完全随机的,即如果每次都不同,我该如何为其制作 POJO 文件?
我的子数据 POJO 文件是这样的:
public class Node {
private int factionId = 0;
private String role = "";
private String title = "";
private double power = 0.0;
private double powerBoost = 0.0;
private int lastPowerUpdateTime = 0;
private int lastLoginTime = 0;
private String chatMode = "";
}
然后我的另一个 POJO 文件是这样的:
public class Container {
private List<Node> nodes; //What should nodes be for GSON to get each random one?
public List<Node> getNodes() {
return nodes;
}
}
我感谢所有帮助,谢谢。
更新
我尝试将其更改List
为 a Map
:
public class Container {
private Map<String,Node> nodes;
public Map<String,Node> getNodes() {
return nodes;
}
同时保持节点文件相同。该字符串将是属性名称,即Speidy
或ShadowSlayer272
。但是,gson 从不对节点做任何事情,当我尝试和 to 时getNodes()
,它会返回一个null
对象。
谢谢您的帮助。