#java #android #google-app-engine #serialization
#java #Android #google-app-engine #сериализация
Вопрос:
Я сериализую объектный граф в коде Android и передаю результат сервлету GAE. При десериализации я иногда получаю следующее исключение:
java.io.StreamCorruptedException: недопустимый код типа: 71
Я проследил проблему до одного из полей. Если я установлю для него значение null или отмечу как переходный, проблема исчезнет. Но, если я сериализую / десериализую только это поле — я также не вижу никаких проблем.
Есть идеи?
Комментарии:
1. Пожалуйста, укажите тип переменной / модификатора доступа.
2. общедоступная двойка deuce; (Двойка — это перечисление). На самом деле я отказался от собственной сериализации объектов Java на Android и уже внедрил сериализацию на основе XML.
Ответ №1:
Я предлагаю использовать буферы протокола JSON или Google вместо собственного кода сериализации. Его намного проще расширять и поддерживать. XML также является вариантом, но он самый медленный для сериализации / десериализации, а также наименее компактный формат по сравнению с JSON / protobuf.