2015-12-29 3 views
0

У меня есть классSpring Rest Exception Не удалось прочитать JSON: Невозможно десериализации экземпляр java.lang.String из START_OBJECT

@Document(collection="emp_data") 
public class Employee{ 
    String name; 

    @Id 
    String id; 

    List<Skill> skills; 
    //getter/setters 

    public static class Skill{ 
     String name; 
     Integer level; 
    } 
} 

Мой JSON является

{"id":"XXX","name":"john","skills":[{"name":"football","level":0}]} 

Когда я POST это

@RestController класс CreateEmployee (@RequestBody Сотрудник EMP) метод

Я получаю следующее исключение Spring Rest Exception Не удался прочитать JSON: Невозможно десериализацию экземпляра java.lang.String из START_OBJECT Это в то время как десериализация коллекции навыков, я пытался дебютировать Джексон ObjectMapper выбрасывает это исключение, когда BeanDeserialiser пытается десериализовать объект.

Если какой-либо один может поделиться образец работает объект и контроллер с ComplexObject содержащий список

+0

работает для меня. проверьте наличие специального символа в json. может быть проблема с кодировкой esp для двойных кавычек –

+0

Не могли бы вы добавить рабочий код в post .. Я могу преобразовать объект Jason в Java и с него, используя тестовую программу ObjectMapper, но не работает с весенним отдыхом. Специальных символов нет. Если я удаляю навыки из json, сообщение принимается хорошо. – RockSolid

+0

. Еще какая-то отладка получила экземпляр BeanDeserialiser, свойство _vanila установлено в false в SpringRest, а его «true» в случае моей программы TestJackson. – RockSolid

ответ

0

Это из-за некоторых враждующим банки удалены зависимости Freemarker и очистить мое рабочее пространство исчезает ошибка! Хотя теперь застрял в отправке сложного объекта в запрос на получение.

Смежные вопросы

 Смежные вопросы