У меня есть апи, что выплевывает следующий JSON:Как разобрать массив массива JSON в Джексон JSON парсер
{
"monitors": [
[
"/Common/http-cc-ping-any"
]
],
"is_alive":true
}
Я пытаюсь использовать весной и Джексон JSON Parser для отображения JSON в POJO
POJO определяется как:
public class MonitorsList {
@JsonProperty("monitors")
private List<Monitors> monitors;
public void setMonitors(List<Monitors> monitors) {
this.monitors = monitors;
}
public List<Monitors> getMonitors() {
return this.monitors;
}
private boolean is_alive;
public void setIsAlive(boolean is_alive) {
this.is_alive= is_alive;
}
public boolean getIsAlive() {
return this.is_alive;
}
}
и мой монитор POJO является:
@JsonAutoDetect
public class Monitors {
private ArrayList<String> monitors;
public ArrayList<String> getMonitors() {
return this.monitors;
}
public void setMonitors(ArrayList<String> monitors) {
this.monitors = monitors;
}
}
Я использую RestTemplate для извлечения данных в формате JSON, но я получаю следующее сообщение об ошибке:
Error: Could not read document: Can not deserialize instance of hello.Monitors out of START_ARRAY token at [Source: [email protected]; line: 1, column: 14] (through reference chain: hello.MonitorsList ["monitors"]->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of hello.Monitors out of START_ARRAY token at [Source: [email protected]; line: 1, column: 14] (through reference chain: hello.MonitorsList ["monitors"]->java.util.ArrayList[0])
Я не могу показаться, чтобы выяснить, что я делаю неправильно.
Любая помощь будет оценена!
У вас есть массив JSON массивов JSON строк JSON. Как вы ожидаете, что для сопоставления с «списком»? –
Я попытался использовать ArrayList> содержание в Greeting.java, но все равно не работает –
Вы имеете в виду в 'MonitorsList'? –