Generische Objektserialisierung in Jackson mit Java

Ich würde gerne Lesen Sie in der Zeichenfolge {"a": 1.0} als generische Java-Objekt, während die gleiche string-format. Jedoch, wenn ich versuche, Jackson ändert sich automatisch die interne Darstellung zu {a = 1}. In anderen Worten, wie kann ich den folgenden code zum drucken {"a": 1.0} statt {a = 1}? Beachten Sie, dass ich habe, es zu Lesen, wie ein Object (durch andere Programm-Einschränkungen).

import org.codehaus.jackson.map.ObjectMapper;

public class Main {

    public static void main(String[] args) {
        try
    {
            ObjectMapper mapper = new ObjectMapper();
            Object myObject = mapper.readValue("{\"a\": 1.0}", Object.class);
            System.out.println(myObject.toString());            
    }
    catch (Exception e)
    {
        e.printStackTrace();
      System.err.println(e.getMessage()); 
    }
    }

}
  • Das ergibt keinen Sinn für mich. Objekt hat keine Eigenschaften für die Taste "a", wie kann es also sein, Lesen Sie in der wie dass? Nicht Sie müssen erstellen Sie eine Klasse mit dieser Eigenschaft?
  • Vielleicht ist er unter der Annahme Jackson irgendwie telepathisch Figuren aus erwarteten Typ... was tatsächlich passiert ist, dass Typ Object.class spezielle Umgang mit Jackson: es werden "Natürliche" Zuordnung zu den Karten, Listen und wrapper-Typen (die sind alle Gegenstände natürlich)
InformationsquelleAutor edd | 2011-02-14
Schreibe einen Kommentar