Допустимые объекты JSON имеют сбалансированные разделители.
Можете ли вы быть на 100% уверены, что получите только действительные объекты? У вас могут быть глюки в сети? Что делать, если отправитель умирает в середине передачи? Я думаю, вам понадобится либо:
а). Некоторое соглашение об объектах JSON, которые вы получаете, чтобы вы могли игнорировать частичный поток, пока не увидите начало одной из ваших согласованных полезных нагрузок. Например. все есть объект "Конверт"
б). подобный стеку механизм восстановления нажимает и «выталкивает» подсчет открывающих и закрывающих разделителей, пока вы не убедитесь, что у вас есть начало новой записи. При достаточно патологическом искажении это трудно сделать надежно.
Я очень предпочитаю первый вариант.