如何将Java树结构和序列化器/反序列化器写入Json [英] How to write a java tree Structure and Serializer/Deserializer to Json

查看:113
本文介绍了如何将Java树结构和序列化器/反序列化器写入Json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用spring框架.

I use spring framework.

我想实现Java树形结构,并实现Serializer/DeserializerJSON.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆