Я рассматриваю возможность использования flexjson для сериализации своих бизнес-объектов в файл в приложении Android, просто используя JSONSerializer(). DeepSerialise (myObject) и JSONDeserializer(). Deserialise (jsonString) со всеми стандартными трансформаторами и объектными фабриками.flexjson и управление версиями: насколько приемлемым является изменение flexjson?
Я надеюсь, что после выпуска приложения любые изменения в бизнес-модели должны быть учтены путем написания трансформаторов flexjsons и объектных заводов в новой версии для обеспечения совместимости с предыдущими версиями.
Что я не уверен в том, с чем могут справиться трансформаторы по умолчанию и объекты-объекты. i.e если я добавлю поле в класс и десериализую из старой версии без поля в новый класс, то он будет терпеть неудачу или новое поле будет нулевым или 0 (если число). Тот же вопрос, если я удалю поле, что произойдет.
В стандартной сериализации это все документировано здесь .. http://docs.oracle.com/javase/7/docs/platform/serialization/spec/version.html
Но я не могу найти эквивалентную информацию для flexjson, что сделки явно с вопросами, связанных с версиями объектов, Есть ли?
Cheers, Phil.
Могу ли я спросить, отменяет ли десериализация FlexJSON, если в json добавлено дополнительное поле, которое отсутствует в объекте? –
Он просто игнорирует это поле. – chubbsondubs
Спасибо, что сообщили мне. –