Десериализация вложенного объекта json с Джексоном - PullRequest
0 голосов
/ 31 мая 2018

Я хотел бы спросить вас, ребята, как десериализовать вложенный объект с помощью Джексона.Я получил пример файла Json:

{
    "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 у меня есть 'массив' "coordinates": [ ["50", "130"], ["370", "500"] ], я не знаю, как преобразовать это в:

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

Любойидеи?

1 Ответ

0 голосов
/ 31 мая 2018

Простой способ - использовать List<List<String>> coordinates;, чтобы сначала десериализовать JSON в Java.Позже вы можете реализовать метод типа getCoordinatesObject() внутри CommentFile класса для создания и получения объекта Coordinates.

Возможно, есть лучший способ сделать это напрямую с Джексоном, но вы можете сделать это также.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...