Estoy tratando de analizar los datos JSON que se envían desde la interfaz de usuario en mi controlador utilizando Spring crear apoyo Jackson y este es mi códigoJsonMappingException hay una única cadena-método constructor/fábrica de Jackson
final Map<String, CartDataHelper> entriesToUpdateMap = new ObjectMapper().readValue(entriesToUpdate, new TypeReference<Map<String, CartDataHelper>>()
mi cadena JSON es
{"0":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050253\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}",
"1":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050254\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}"}
he comprobado el formato JSON utilizando algunos servicios en línea y parece válida, mientras GTO tratando de análisis de datos JSON que estoy recibiendo siguiente excepción
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
mi clase CartDataHelper
contiene propiedades simples para completamente productCode
, etc categoryCode
con un constructor sin argumentos
Parece que los datos JSON han sido escapados por error. Entonces, si bien puede ser válido, no creo que represente lo que crees que hace. Representa un objeto con dos propiedades ("0" y "1") cada una con un valor que se parece a un objeto codificado JSON representado como una cadena. – Ramon
@Ramon: ¿hay alguna manera de cambiar la estructura para cumplir con esto? –
Depende del código que lo produjo, supongo. – Ramon