2016-01-06 8 views
7

Angenommen, ich habe json Baum bereits gelesen.Wie aus dem JSON-Baum deserialisieren?

Ist es möglich, daraus zu deserialisieren (ohne zurück in String zu konvertieren)?

public class TryDeserializeNode { 

    public static class MyClass { 

     private int x = 11, y = 12; 

     public int getX() { 
     return x; 
     } 

     public void setX(int x) { 
     this.x = x; 
     } 

     public int getY() { 
     return y; 
     } 

     public void setY(int y) { 
     this.y = y; 
     } 
    } 

    public static void main(String[] args) throws IOException { 

     ObjectMapper mapper = new ObjectMapper(); 

     MyClass myClass = new MyClass(); 
     String string = mapper.writeValueAsString(myClass); 

     JsonNode tree = mapper.readTree(string); 

     // how to deserialize from tree directly? 
     // MyClass myclass2 = mapper.readValue(tree.toString(), MyClass.class); 
     MyClass myclass2 = mapper.readValue(tree, MyClass.class); 

    } 
} 
+0

werfen Sie einen Blick auf diesen Beitrag kann Ihnen helfen: http://stackoverflow.com/questions/5159194/is-it-possible-to-deserialize-json-to-a-tree-in-java – esprittn

Antwort

5

Sie einfach treeToValue verwenden:

MyClass myclass2 = mapper.treeToValue(tree, MyClass.class); 

wo mapper Ihre Jackson Mapper und tree ist Ihr JsonNode.

Verwandte Themen