Sto cercando di analizzare i dati JSON inviati da interfaccia utente in mio controller utilizzando Primavera costruire sostegno Jackson e questo è il mio codiceJsonMappingException nessun singolo-String metodo di costruzione/factory Jackson
final Map<String, CartDataHelper> entriesToUpdateMap = new ObjectMapper().readValue(entriesToUpdate, new TypeReference<Map<String, CartDataHelper>>()
mia stringa JSON è
{"0":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050253\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}",
"1":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050254\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}"}
ho controllato il formato JSON utilizzando alcuni servizi on-line e sembra valida, mentre gto provando analizzare i dati JSON io sono sempre seguente eccezione
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
mia classe CartDataHelper
contiene proprietà semplici per per productCode
, categoryCode
ecc con un no argomento del costruttore
I dati JSON sembrano essere stati doppiamente sfuggiti. Quindi, mentre può essere valido, non penso che rappresenti ciò che pensi che faccia. Rappresenta un oggetto con due proprietà ("0" e "1") ciascuna con un valore simile a un oggetto codificato JSON rappresentato come una stringa. – Ramon
@Ramon: c'è un modo per cambiare la struttura per soddisfare questo? –
Dipende dal codice che lo ha prodotto, immagino. – Ramon