Какой тип переменной мне нужно определить, чтобы вставить следующий тип данных (Spring-boot, Mongodb) - PullRequest
0 голосов
/ 08 октября 2019

Тип данных:

"label":"Price","type":"RANGE_SELECT","value":{"min":1,"max":100,"default":50} 

"label":"Wi-Fi","type":"SWITCH","value":"true"

"label":"Start Date","type":"DATE_PICKER","value":""

Тип переменной I описывается следующим образом:

private String label;
private String type;
private List < String >  value;

ОШИБКА:

"message": "Ошибка синтаксического анализа JSON: Невозможно десериализовать экземпляр java.util.ArrayList из токена START_OBJECT; вложенным исключением является com.fasterxml.jackson.databind.exc.MismatchedInputException: Невозможно десериализовать экземплярjava.util.ArrayList из токена START_OBJECT \ n в [Source: (PushbackInputStream); строка: 4, столбец: 10] (через цепочку ссылок: com.mspace.uiservice.model.UiFilter [\ "value \"]) ",

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Вам нужно создать класс, подобный этому

class Value {
  private Integer min;
  private Integer max;
  private Integer default;

//Getters, Setters
}

и изменить свое pojo следующим образом

private String label;
private String type;
private Value value; 

Если это [....], вы можете использовать List, но не для{...}

0 голосов
/ 11 октября 2019

Вы не можете получить те же самые данные, но некоторые, которые похожи на это с помощью приведенной ниже сущности, просто создайте класс с одним полем

private Map<String,Object>  output;

, который сохранит все значения, которые вы поместили в карту, как показано ниже:

"output":{
"label":"Price","type":"RANGE_SELECT","value":{"min":1,"max":100,"default":50} 
},
"output":{
"label":"Wi-Fi","type":"SWITCH","value":"true"
},
"output":{
"label":"Start Date","type":"DATE_PICKER","value":""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...