конвертировать JSON в объект, используя Джексона - PullRequest
3 голосов
/ 18 февраля 2011

Я должен преобразовать JSON в объект, используя Джексона.Класс выглядит так:

class Country {  
    int a;  
    int b;  
}  

И JSON, который я получаю:

{"country":{"a":1,"b":1}}

Но когда я пытаюсь десериализовать это, это выдает мне следующую ошибку

org.codehaus.jackson.map.JsonMappingException: Unrecognized field "country"    

Если я удалю «страну», я смогу получить объект.

Можно ли как-то сказать Джексону просто игнорировать «страну» из строки json?

Спасибо завперед.

1 Ответ

4 голосов
/ 18 февраля 2011

Это правильное поведение Джексона, фактическое представление json объекта Country должно быть без страны верхнего уровня. Если у вашего json абсолютно есть атрибут страны верхнего уровня, более понятным подходом было бы использование обёрточного класса Country следующим образом:

class WrapperCountry {  
   Country country;
}

таким образом представление json должно корректно десериализоваться в объект WrapperCountry, и из этого можно извлечь страну.

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