我使用spring框架。
我希望实现Java树结构,Serializer/Deserializer
实现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
答案 0 :(得分:1)
在这里你可以使用带有弹簧框架工作的jackson libs将json转换为java类,反之亦然。 有关jackson see this
的更多信息要生成java pojo类,请使用此在线工具click here
希望它会对你有所帮助。答案 1 :(得分:1)
如果您想使用Jackson将Java对象转换为JSON,请执行此tutorial。
就你的JSON而言,我认为你需要的POJO应该是这样的。
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文件中):
ObjectMapper objectMapper = new ObjectMapper();
List<Model> listModel = objectMapper.readValue(Main.class.getResourceAsStream("/newjson.json"), new TypeReference<List<Model>>() {
});
我在上面的例子中使用了Jackson,因为这是我广泛使用的。如果需要,可以使用GSON。
杰文的Maven依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
如果您对这些主题有所了解,那就更好了。
答案 2 :(得分:0)
这个问题有一些新的有用的工具,比如swagger。 http://swagger.io/您可以查看此链接。它是一个很好的工具,用于为流行的框架生成apis。您需要做的就是使用swagger编辑器工具以yaml格式编写接口,通过指定框架(在您的情况下为spring和java)它将生成所有api和模型对象。然后,您可以使用Gson序列化这些自动生成的接口。