我試圖解析使用Spring構建傑克遜支持我的控制器從UI發送JSON數據,這是我的代碼JsonMappingException無單String構造/工廠方法傑克遜
final Map<String, CartDataHelper> entriesToUpdateMap = new ObjectMapper().readValue(entriesToUpdate, new TypeReference<Map<String, CartDataHelper>>()
我的JSON字符串
{"0":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050253\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}",
"1":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050254\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}"}
我使用一些在線服務檢查JSON格式,它似乎有效,而試着GTO解析JSON數據我得到以下異常
org.codehaus.jackson.map.JsonMappingException: Can not instantiate value of type [simple type, class controllers.util.CartDataHelper] from JSON String; no single-String constructor/factory method
個
我CartDataHelper
類包含了productCode
,categoryCode
等具有無參數的構造函數
這個JSON數據看起來像它的雙重轉義。所以雖然它可能是有效的,但我認爲它不代表你的想法。它表示具有兩個屬性(「0」和「1」)的對象,每個屬性的值都看起來像表示爲字符串的JSON編碼對象。 – Ramon
@Ramon:有沒有辦法改變結構來滿足這個要求? –
這取決於生成它的代碼,我猜。 – Ramon