我正在尝试使用 Spring build Jackson 支持解析从控制器中的 UI 发送的 JSON 数据,这是我的代码
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 格式,它似乎是有效的,在尝试解析 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
类包含 for 等的简单属性,productCode
没有categoryCode
参数构造函数