我想问你们如何用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;
有什么想法吗?
答案 0 :(得分:1)
一种直接的方法是首先使用List<List<String>> coordinates;
将JSON反序列化为Java。稍后,您可以在getCoordinatesObject()
类中实现类似CommentFile
的方法来创建和获取Coordinates对象。
可能有更好的方法直接与杰克逊完成此任务,但您也可以这样做。