2016-12-02 1 views

Antwort

2

Zunächst einmal sollte der Feldname userName der gleiche wie in der JSON String (Benutzername) sein.

Den Tippfehler in zu List<Detail> und detail Klassenname zu Detail fixieren.

Fügen Sie Getter und Setter für Klassenfelder hinzu.

Verwenden Sie das folgende Beispiel Ihre json deserialisieren:

String jsonStr = "{\"userName\":\"Tony\",\"id\":\"123\",\"details\":[{\"num\":\"1\",\"name\":\"Tom\"},{\"num\":\"2\",\"name\":\"Jerry\"}]}"; 

ObjectMapper mapper = new ObjectMapper(); 

try { 
    Account account = mapper.readValue(jsonStr, Account.class); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+0

com.fasterxml.jackson.databind.JsonMappingException: Es wurde kein geeigneter Konstruktor für type gefunden [einfacher Typ, Klasse com.Account $ Detail]: kann nicht aus JSON-Objekt instanziiert werden (muss Typinformationen hinzugefügt/aktiviert werden?) um [Quelle: [email protected]; Zeile: 1, Spalte: 43] (über die Referenzkette: com.Account ["Details"]) \t unter com.fasterxml.jackson.databind.JsonMappingException.from (JsonMappingException.java:164) – wmmj23

Verwandte Themen