Java ограничение в формате JSON - PullRequest
1 голос
/ 26 сентября 2011

Я хочу передать некоторые данные базы данных через сокет TCP.Данные форматируются в JSON.

Поскольку размер базы данных может увеличиться, я боюсь, что максимального размера объекта String будет недостаточно для хранения всех данных с форматированием JSON.

Iуже возникла проблема при передаче данных с помощью функции DataOutput writeUTF().

Что мне делать?Может быть, конвертировать строки базы данных в CSV и передавать ее через Интернет построчно?Или мне не нужно беспокоиться об ограничениях строки и решить проблему writeUTF(), получая байты строки, передавая их через сокет и восстанавливая строку из байтов в месте назначения?

1 Ответ

2 голосов
/ 26 сентября 2011

Java-строки могут быть очень длинными - у вас вряд ли возникнут проблемы с самим типом String. Если вы сначала преобразуете строку в двоичную, то используйте writeInt для записи количества байтов, а затем сами байты, что должно быть хорошо. Проблема с writeUTF заключается в том, что он использует writeShort, поэтому он обрабатывает только до 64 КБ данных.

...