Спринг Джексон Карта Десериализация - PullRequest
0 голосов
/ 10 февраля 2020

Я передаю через контроллер Spring объект json, который выглядит следующим образом:

{
  "dataset":"myDataset",
  "typeProperties":[
    "myProperty"
  ],
  "stopWords":{
    "de":[ "daß","allem","dem"],
    "fr":["salut"]
  }
}

Соответствующий объект java:

public class DatasetConfigRequest {
    String dataset = "";
    List<String> typeProperties;
    HashMap<String,ArrayList<String>> stopWords = new HashMap<String,ArrayList<String>>();

//getter and setters

Но когда я передать его я получаю следующую ошибку:

JSON parse error: Cannot deserialize instance of `java.util.HashMap<java.lang.Object,java.lang.Object>` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.HashMap<java.lang.Object,java.lang.Object>` out of START_ARRAY token
 at [Source: (PushbackInputStream); line: 1, column: 104] (through reference chain: eu.qanswer.core2.server.controller.payload.dataset.DatasetConfigRequest["stopWords"])]

Я понимаю, что проблема в HashMap со значениями ArrayList. Но как это решить?

Спасибо D063520

1 Ответ

0 голосов
/ 10 февраля 2020

Создайте новый класс и назовите его stopWords, добавьте поля id и list и, наконец, добавьте поле в имя класса набора данных, это stopWords

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...