Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Jackson反序列化嵌套json对象_Java_Json_Jackson - Fatal编程技术网

Java 使用Jackson反序列化嵌套json对象

Java 使用Jackson反序列化嵌套json对象,java,json,jackson,Java,Json,Jackson,我想问你们如何用jackson反序列化嵌套对象。 我得到了示例Json文件: { "id": "1", "comment": "Some comment", "user": "Smith", "date": "2018-05-31", "shape": "oval", "coordinates": [ ["50", "130"], ["370", "500"] ] }, 假设主类名为Comment,但我想创建另一个带

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

{
    "id": "1",              
    "comment": "Some comment",
    "user": "Smith",
    "date": "2018-05-31",
    "shape": "oval",
    "coordinates": [ ["50", "130"], ["370", "500"] ]
}, 
假设主类名为Comment,但我想创建另一个带有局部变量x1、x2、y1、y2的类坐标。 因此,类注释如下所示:

 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中我有“数组”坐标:[[50130],[370500]],我不知道如何将其转换为:

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

有什么想法吗

一个简单的方法是使用列表坐标;首先将JSON反序列化为Java。稍后,您可以在CommentFile类中实现一个类似GetCoordinateObject的方法来创建和获取坐标对象

也许有更好的方法可以直接和杰克逊一起完成,但你也可以这样做