2015-12-29 58 views
0

的我有一個類彈簧安置異常無法讀取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}]} 

當我張貼這一個

@RestController類在CreateEmployee(@RequestBody僱員EMP) 方法

我得到下面的異常 彈簧安置異常無法讀取JSON:無法反序列化java.lang.String中的實例進行START_OBJECT 的這是當反序列化的技能集,我試圖登場傑克遜當BeanDeserialiser嘗試反序列化對象時,ObjectMapper引發此異常。

如果任何人可以共享一個樣本含有列表

+0

適合我。檢查你的json中的任何特殊字符。可能是有編碼問題esp雙引號 –

+0

您可以添加一個工作代碼在後..我可以轉換爲和Jason到Java對象,使用測試程序ObjectMapper,但不適用於春天休息。沒有特殊字符。如果我從json中刪除了技巧,這個消息就被很好地接受了。 – RockSolid

+0

還有一些調試得到了BeanDeserialiser的實例化,_vanila屬性在SpringRest中設置爲false,而在我的TestJackson程序中設置爲true。 – RockSolid

回答

0

這是因爲去除FreeMarker的依賴性一些撞擊的罐子並打掃工作區中的錯誤消失,工作對象和控制器,一個ComplexObject! 雖然現在停留在發送請求中的複雜對象。

相關問題