У меня возникли проблемы с чтением файла JSON в POJO. Позвольте мне дать вам кусочек того, что влечет за собой мой файл в формате JSON:Разбор JSON-файла с помощью GSON
{
"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;
}
}
Я ценю помощь, спасибо.
UPDATE
Я попытался изменить List
к Map
как таковой:
public class Container {
private Map<String,Node> nodes;
public Map<String,Node> getNodes() {
return nodes;
}
При сохранении файла узла то же самое. Строкой будет тогда имя свойства i.e Speidy
или ShadowSlayer272
. Тем не менее, gson никогда ничего не делает с узлами, и когда я пытаюсь и getNodes()
, он возвращает объект null
.
Спасибо за помощь.
Либо карта nodes' 'в' Container' или заказ 'TypeAdapter' может быть то, что вы находясь в поиске. –
Я попытался добавить карту, но она всегда была бы нулевой после попытки десериализации. –