Jackson MassatchedInputexception (метод конструктора/фабрики без строкового аргумента/заводяJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Jackson MassatchedInputexception (метод конструктора/фабрики без строкового аргумента/заводя

Сообщение Anonymous »

Я использую Springboot 2.3.1-release и пытаюсь покинуть строку JSON в POJO, содержащий список объектов, но я продолжаю столкнуться с этой ошибкой:
Не может построить экземпляр com.response.dto.rootdto (хотя по крайней мере один создатель. ('Meta')
at [источник: (String) "Meta": [{"DimensionName": "Версия", "DimensionId": "3B4860B9-B215-4192-BD7A-A76F377FC465", Dimensi ontype ":" обычный "," псевдоним ":" c0 "," attributeId ":" 211d5-d91f-40ec-9668-20e0da2ae7b3 "," attributeName ":" Версия Имя "," attributeKey ":" versionKey "; Line: 1, столбец: 1] < /p>
Это то, на что выглядит моя строка json (но с excape chars in eclipse): < /p>
{" Meta ": [{" DimensionName ":" Версия ", "DimensionId":"3b4860b9-b215-4192-bd7a-a76f377fc465, "DimensionType":"Regular","Alias":"C0","AttributeId":"211b33d5-d91f-40ec-9668-20e0da2ae7b3","AttributeName":"Version Имя "," attributeKey ":" versionKey "}]}.

Код: Выделить всё

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class RootDTO
{
@JsonProperty("Meta")
private List Meta;
}

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class MetaDTO
{

@JsonProperty("DimensionName")
private String DimensionName;

@JsonProperty("AttributeId")
private String AttributeId;

@JsonProperty("AttributeName")
private String AttributeName;

@JsonProperty("Name")
private String Name;

@JsonProperty("Alias")
private String Alias;
}
< /code>
Это код, который дует при попытке прочитать значение: < /p>
 ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);

objectMapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

objectMapper.readValue(jsonFormattedString, RootDTO.class));

Я вижу эту проблему только при запуске junit (версия: 4.12). Я вижу Джексон-Датабинд-2.11.0 , Spring-test-5.2.7.release в трассировке стека. Тем не менее, я отлаживаю, используя звонок из браузера или почтальона, он работает нормально. Я не уверен, почему он ищет мета -мета, когда я указал ее в списке. Что может вызвать эту проблему? Есть предложения? Есть эта строка кода

Код: Выделить всё

 String jsonFormattedString = responseEntity.getBody().substring(1,        responseEntity.getBody().lastIndexOf("\"")).replaceAll("\\\\", "");
, что делает мою высмеивающуюся строку недействительной. Мне нужно выяснить, почему мы делаем это.

Подробнее здесь: https://stackoverflow.com/questions/683 ... ory-method
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»