2014-04-12 3 views
-1

Мы пытаемся преобразовать экземпляр класса Java в JSON с помощью библиотеки GSON. Этот класс включает экземпляр ByteBuffer в качестве члена, который создается allocateDirect.GSON и ByteBuffer.allocateDirect

В связи с тем, что ByteBuffer, созданный allocateDirect, хранит данные в области собственной памяти, GSON не может сериализовать это поле в JSON.

Как мы можем настроить/настроить GSON для обработки собственных данных ByteBuffer?

Благодаря ...

+0

Ну, как вы пишете этому «ByteBuffer» из своего класса? – fge

+0

Вы читали [это] (https://sites.google.com/site/gson/gson-user-guide#TOC-Custom-Serialization-and-Deserialization)? – kdgregory

+0

Я не могу дойти до этой веб-страницы, – AGP

ответ

1

Я нашел его,

Это было легко, просто добавить Serializer & десериализатор для ByteBuffer класса.

В сериализации можно преобразовать directdata в байт [] и сериализовать. Преобразование байта [] в base64 и использование этого вывода для сериализации - это плюс (обеспечивает экономию пространства на выходе).