Другим способом является чтение строки, которая также должна работать для json, если я не ошибаюсь.
Любой ключ или значение в json может содержать символ новой строки, и если ваш протокол чтения: «Прекратить чтение, когда символ новой строки читается из сокета.», Вы не будете читать весь json, если какой-либо ключ или значение в json содержит символ новой строки.
Третья идея заключается в том, чточитать JSON, используя отслеживание глубины (считая '{' может быть?)
Тьфу.Слишком сложный.И json может начать с [
.Кроме того, ключ или значение могут содержать ]
или }
.
Суть в том, что вам нужно решить, что должно пометить конец отправленного сообщения.Вы можете выбрать некоторую относительно уникальную строку, например: --*456?END OF MESSAGE!123**--
, но снова ключ или значение в json может возможно содержать эту строку - и именно поэтому используются заголовки байтов ,После прочтения this .
вы сможете сделать осознанный выбор того, как вы хотите действовать.