Ich versuche, JSON-Daten zu analysieren, von UI gesendet in meinem Controller wurden mit Spring Jackson Unterstützung bauen und dies ist mein CodeJsonMappingException keine Single-String-Konstruktor/Factory-Methode Jackson
final Map<String, CartDataHelper> entriesToUpdateMap = new ObjectMapper().readValue(entriesToUpdate, new TypeReference<Map<String, CartDataHelper>>()
mein JSON-String ist
{"0":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050253\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}",
"1":"{\"categoryCode\":\"shoes\",\"productCode\":\"300050254\",\"initialQty\":\"3\",\"leftoverQty\":\"0\",\"newQty\":\"3\"}"}
geprüft i das JSON-Format einig Online-Dienste, und es scheint gültig, während tryin gto Parse-JSON-Daten i folgende Ausnahme ist immer
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
meine CartDataHelper
Klasse enthält einfache Eigenschaften für für productCode
, categoryCode
etc mit einem kein Argument Konstruktor
Diese JSON-Daten sehen aus, als wären sie doppelt maskiert. Es mag zwar gelten, aber ich denke nicht, dass es das darstellt, was Sie denken. Sie stellt ein Objekt mit zwei Eigenschaften ("0" und "1") mit einem Wert dar, der wie ein JSON-codiertes Objekt aussieht, das als String dargestellt wird. – Ramon
@Ramon: Gibt es eine Möglichkeit, die Struktur zu ändern, um dies zu erfüllen? –
Es hängt von dem Code ab, der es produziert, denke ich. – Ramon