У меня есть следующая строка Json, которую нужно сериализовать в объекты POJO:
{"pump_6":{"name":"Pump 6","value":"tequila","pin":25},"pump_5":{"name":"Pump 5","value":"vodka","pin":24},"pump_4":{"name":"Pump 4","value":"oj","pin":23},"pump_2":{"name":"Pump 2","value":"gin","pin":27},"pump_1":{"name":"Pump 1","value":"rum","pin":17},"pump_3":{"name":"Pump 3","value":"coke","pin":22}}
Как видите, ключи динамические (pump_6, pump_5).Я пробовал разные решения, но, похоже, ничего не работает, чтобы сериализовать его в POJO.
Я пробовал что-то вроде этого
for (Object o : map.keySet()) {
String key = (String) o;
System.out.println(key);
Map<String, JsonElement> value = (Map<String, JsonElement>) map.get(key);
System.out.println(value); //prints {Updated=week, Time=12pm} for first
Pump pump = new Pump(value.get("name").toString(), value.get("value").toString(), value.get("pin").getAsInt());
arrayList.add(pump);
Ниже приведен мой класс насоса
public class Pump {
@JsonProperty("name")
public String name;
@JsonProperty("pin")
public int pin;
@JsonProperty("value")
public String value;
public Pump(String name, String value, int pin) {
this.name = name;
this.value = value;
this.pin = pin;
}
}
Кто-нибудь получил идею, как сериализовать эту строку для Pojo?