Я пытаюсь сопоставить строку JSON с классом Java с помощью Джексона.
public class ChartData {
List<String> xAxis=new ArrayList<String>();
List<String> yAxis=new ArrayList<String>();
List<String> zAxis=new ArrayList<String>();
String type;
public ChartData() {
}
public ChartData(String type, List<String> yAxis, List<String> zAxis) {
this.type = type;
this.yAxis = yAxis;
this.zAxis = zAxis;
}
Код, который я пробовал:
List<ChartData> emp = new ArrayList<>();
String o2 ="[{\"type\": \"2\", \"yAxis\": [\"11\"], \"zAxis\": [\"8\"]}, {\"type\": \"3\",
\"yAxis\": [\"17\", \"13\", \"12\"], \"zAxis\": [\"14\", \"13\", \"12\"]}]";
ObjectMapper mapper = new ObjectMapper();
data= (List<ChartData>) mapper.readValue(o2, ChartData.class);
return data;
Но я получаю следующую ошибку:
Невозможно десериализовать экземпляр com.ChartData из токена START_ARRAY в [Source: [{"type": "2", "yAxis": ["11"], "zAxis": ["8"]}, {"type": "3", "yAxis": ["17", "13", "12"], "zAxis": ["14", "13", "12"]}];строка: 1, столбец: 1]
Где моя ошибка?