Получение исключения при преобразовании JSON в Java POJO ⇐ JAVA
-
Гость
Получение исключения при преобразовании JSON в Java POJO
Я пытаюсь преобразовать JSON в Java POJO.
Моя строка JSON выглядит следующим образом:
{ "Ресурсы": { "1": { "идентификатор": "1", "displayName": "животное" }, "6": { "идентификатор": "6", "displayName": "ученый" }, "7": { "идентификатор": "7", "displayName": "namegen" } } } Класс POJO
Ресурсы общедоступного статического класса { @JsonProperty("ресурс") частный ресурс Map; общественная Map getResource() { возврат ресурса; } общественный недействительный setResource( Ресурс Map) { this.resource = ресурс; } общедоступный статический класс Resource { @JsonProperty("идентификатор") частный строковый идентификатор; @JsonProperty("DisplayName") частная строка displayName; публичная строка getId() { вернуть идентификатор; } общественный недействительный setId (идентификатор строки) { this.id = идентификатор; } общественная строка getDisplayName() { вернуть отображаемое имя; } public void setDisplayName (String displayName) { this.displayName = displayName; } } } Я получаю исключение:
com.fasterxml.jackson.databind.exc.MismatchedInputException: невозможно построить экземпляр com.server.servlet.rest.pojos.Response$Data$ById$Resources$Resource (хотя существует хотя бы один Создатель): нет строкового аргумента конструктор/фабричный метод для десериализации из строкового значения ('1') в [Источник: (Строка)"{ .Response$Data$ById["resources"]->java.util.LinkedHashMap["1"]->com.server.servlet.rest.pojos.Response$Data$ById$Resources["id"] )
Что я здесь делаю не так?
Я пытаюсь преобразовать JSON в Java POJO.
Моя строка JSON выглядит следующим образом:
{ "Ресурсы": { "1": { "идентификатор": "1", "displayName": "животное" }, "6": { "идентификатор": "6", "displayName": "ученый" }, "7": { "идентификатор": "7", "displayName": "namegen" } } } Класс POJO
Ресурсы общедоступного статического класса { @JsonProperty("ресурс") частный ресурс Map; общественная Map getResource() { возврат ресурса; } общественный недействительный setResource( Ресурс Map) { this.resource = ресурс; } общедоступный статический класс Resource { @JsonProperty("идентификатор") частный строковый идентификатор; @JsonProperty("DisplayName") частная строка displayName; публичная строка getId() { вернуть идентификатор; } общественный недействительный setId (идентификатор строки) { this.id = идентификатор; } общественная строка getDisplayName() { вернуть отображаемое имя; } public void setDisplayName (String displayName) { this.displayName = displayName; } } } Я получаю исключение:
com.fasterxml.jackson.databind.exc.MismatchedInputException: невозможно построить экземпляр com.server.servlet.rest.pojos.Response$Data$ById$Resources$Resource (хотя существует хотя бы один Создатель): нет строкового аргумента конструктор/фабричный метод для десериализации из строкового значения ('1') в [Источник: (Строка)"{ .Response$Data$ById["resources"]->java.util.LinkedHashMap["1"]->com.server.servlet.rest.pojos.Response$Data$ById$Resources["id"] )
Что я здесь делаю не так?
Мобильная версия