使用Jackson

时间:2018-05-30 23:14:38

标签: java json jackson

我想问你们如何用jackson反序列化嵌套对象。 我得到了Json File的例子:

{
    "id": "1",              
    "comment": "Some comment",
    "user": "Smith",
    "date": "2018-05-31",
    "shape": "oval",
    "coordinates": [ ["50", "130"], ["370", "500"] ]
}, 

假设主类称为Comment,但我想创建另一个带有局部变量Coordinates的类x1, x2, y1, y2。 所以班级Comment看起来像这样:

 public class CommentFile implements Serializable{
    private Long id;
    private String comment;
    private String user;
    private String date;
    private String shape;
    private Coordinates coordinates;
    //setters, getters, constructor

但因为在json我有'array'"coordinates": [ ["50", "130"], ["370", "500"] ],我不知道如何将其转换为:

public class Coordinates implements Serializable{
private double x1;
private double y1;
private double x2;
private double y2;

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

一种直接的方法是首先使用List<List<String>> coordinates;将JSON反序列化为Java。稍后,您可以在getCoordinatesObject()类中实现类似CommentFile的方法来创建和获取Coordinates对象。

可能有更好的方法直接与杰克逊完成此任务,但您也可以这样做。