Java GSON - можно ли десериализовать объект из строки, не имея все его поля - PullRequest
0 голосов
/ 22 марта 2011

Допустим, я добавляю поле к объекту и все равно получаю ту же строку.Могу ли я де-Json это в объект с отсутствующими полями, установленными как нуль?что если у меня есть примитивные переменные там?10x

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

Ну, зависит от того, как производится десериализация. Если объект сначала создается с помощью конструктора без аргументов, а затем поля задаются с помощью установщиков или отражений, я бы сказал, что это должно сработать. В этом случае каждая ссылка на другие объекты была бы нулевой, тогда как примитивные типы получают свои значения по умолчанию (для чисел 0, для логического false и т. Д.)

0 голосов
/ 22 марта 2011

Да

Gson - более точные точки с объектами

При десериализации отсутствующая запись в JSON приводит к установке соответствующего поля в объекте на ноль

0 голосов
/ 22 марта 2011

Вы можете использовать XStream для (де) сериализации в JSON, и вот как они работают с новыми полями: http://x -stream.github.io / faq.html # Serialization_newer_class_versions

Итак, краткий ответ: ссылки будут нулевыми, примитивы сохранят значения, полученные в конструкторе

...