Десериализация Джексона в обход конечных полейJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Десериализация Джексона в обход конечных полей

Сообщение Anonymous »


Вот код

import com.fasterxml.jackson.annotation.JsonProperty; импортировать com.fasterxml.jackson.databind.ObjectMapper; импортировать ломбок.Данные; импортировать ломбок.ToString; общественный класс Main { public static void main(String[] args) выдает исключение { Поля f1 = новые поля(1); System.out.println(f1); Сопоставитель ObjectMapper = новый ObjectMapper(); String str = mapper.writeValueAsString(f1); System.out.println(str); Поля f2 = mapper.readValue(str, Fields.class); System.out.println(f2); } @Данные @Нанизывать Поля публичного статического класса { частное окончательное длинное значение1; частное окончательное длинное значение2; public Fields(@JsonProperty("blah") длинное значение) { это.значение1 = значение++; это.значение2 = значение++; System.out.println(это); } } } Вывод

Main.Fields(value1=1, value2=2) Main.Fields(значение1=1, значение2=2) {"значение1":1, "значение2":2} Main.Fields(значение1=0, значение2=1) Main.Fields(значение1=1, значение2=2) Мои вопросы:
[*]Почему Джексон изменил частные конечные поля, у которых нет установщиков, после завершения их создания? Если это так и задумано, как мне это отключить? [*]Если Джексон может задавать поля напрямую, почему я должен аннотировать конструктор @JsonProperty? (Удаление @JsonProperty из полей приводит к ошибке; и мне даже не нужно было комментировать правильные свойства)
Спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Десериализация Джексона с анонимными классами
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Десериализация Джексона с общими аргументами
    Гость » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Гость
  • Десериализация Джексона не удалась в тесте Mockmvc, но работает нормально при запуске приложения.
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Десериализация Джексона: считать определенные строковые значения нулевыми.
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Десериализация Джексона не работает в Java 17
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»