вручную парсится.
Получаем объект от сервера в JSON виде.
В приложении объекты сохраняются в Realm. Есть метод, вытаскивающий из Realm объект по id.
Далее сравниваются каждое поле объекта и соответствующее поле JSON. Если поле есть в JSON, то оно в объекте обновляется.
Например, json.type = 1 следовательно object.type = 1
Но если json.type = null, то что делать с объектом. Обнулять или оставить неизменным?
Если делать автоматом через Gson поле будет null, а нужно, чтоб оно просто не изменилось.
Ручной парсинг предотвращает обнуление поля, потому что в json просто это поле не придет, и проверка json.has("type") не пройдет
Хотя хз, наверное просто нужно научиться правильно использовать Gson, чтобы null поля в одном случае игнорировались, а в другом реально обнуляли значение в объекте Realm.
Но переделывать весь проект очень долго
json.type ?.let{it -> object.type = it} не?
интересно. спасибо
Обсуждают сегодня