Jackson. Сериализация объектов

110
01 марта 2021, 23:10

Я хочу сериализовать объект в json строку

new ObjectMapper().writeValueAsString(myObject);

но предварительно мне нужно добавить дополнительные поля, которых нет в определении класса объекта. Можно ли это сделать средствами Jackson?

Answer 1

Можно.

ObjectMapper mapper = new ObjectMapper();
JsonNode jn = mapper.valueToTree(new MyClass(1, "aaa"));
ObjectNode on = (ObjectNode)jn;
on.put("zxc", "zzzz");
String json = mapper.writeValueAsString(on);

Если класс будет такой:

public class MyClass {
    int qwe;
    String asd;
    public MyClass(int qwe, String asd) {
       this.qwe = qwe;
      this.asd = asd;
    }
   //...
}

то получим json {"qwe":1,"asd":"aaa","zxc":"zzzz"}

READ ALSO
Spring и thymeleaf

Spring и thymeleaf

Хочу вывести значения базы данных на страницу ввиде таблицы id, name, email, не получаетсяКто знает, скажите как сделать правильно, потому что выдает...

101
Что означает точка в Java?

Что означает точка в Java?

Что за имена с точкой в java printeraccept()?

96
Не понимаю что я делаю не так

Не понимаю что я делаю не так

Задача: Программа вводит с клавиатуры пару (число и строку) и выводит их на экран

95