如何将Java树结构和序列化器/反序列化器写入Json [英] How to write a java tree Structure and Serializer/Deserializer to Json
问题描述
我使用spring框架.
I use spring framework.
我想实现Java树形结构,并实现Serializer/Deserializer
到JSON
.
I want to implements Java tree structure and Serializer/Deserializer
to JSON
.
像JSON
一样,
[
{"id":"1","pid":"0","name":"n1", "chindren":[
{"id":"4","pid":"1","name":"n4", "chindren":[
{"id":"7","pid":"4","name":"n7", "chindren":[
{"id":"15","pid":"7","name":"n15"}
]},
{"id":"8","pid":"4","name":"n8"},
{"id":"9","pid":"4","name":"n9"},
{"id":"10","pid":"4","name":"n10"}
]},
{"id":"5","pid":"1","name":"n5","chindren":[
{"id":"19","pid":"5","name":"n19"},
{"id":"20","pid":"5","name":"n20"}
]}
]},
{"id":"2","pid":"0","name":"n2","chindren":[
{"id":"13","pid":"2","name":"n13"}
]},
{"id":"3","pid":"0","name":"n3","chindren":[
{"id":"11","pid":"3","name":"n11"},
{"id":"12","pid":"3","name":"n12"}
]}
]
如何将上述JSON树转换为Java类并将Serializer/Deserializer
转换为JSON
How to convert above JSON tree to a Java class and Serializer/Deserializer
to JSON
推荐答案
Go through this tutorial if you want to use Jackson for converting Java objects to / from JSON.
就您的JSON而言,我认为您需要的POJO应该看起来像这样.
As far as your JSON is concerned, I think the POJO you need should look something like this.
public class Model {
private String id;
private String pid;
private String name;
private List<Model> children; // I assumed you meant children
// Getter and Setter methods
}
使用Jackson,您可以按以下方式反序列化JSON(我假设它在JSON文件中):
Using Jackson, you can deserialize JSONs as follows (I'm assuming it is in a JSON file):
ObjectMapper objectMapper = new ObjectMapper();
List<Model> listModel = objectMapper.readValue(Main.class.getResourceAsStream("/newjson.json"), new TypeReference<List<Model>>() {
});
在上面的示例中,我使用了Jackson,因为这是我广泛使用的.您可以根据需要使用GSON.
I used Jackson in the above example because that is what I extensively use. You could use GSON if you want.
杰克逊对Maven的依赖:
Maven dependency for Jackson:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
最好阅读一下这些主题.
It is better if you read up a bit on these topics.
这篇关于如何将Java树结构和序列化器/反序列化器写入Json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!