Возможно ли в Python 3 читать JSON-объекты из socket?

По сети время от времени отправляются JSON-объекты. Если ли специализированное решение, чтобы постоянно читать из сокета данные, и когда придёт один JSON полностью, отправлять его на обработку, затем сразу же ожидать следующий JSON-объект, чтобы его тоже отправить на обработку и так далее? Сокет не должен разрываться, объекты будут поступать время от времени по одному или пачками. В идеале получать данные как после json.loads() .

Я попробовал socket.makefile() вместе с ijson - хорошего ничего не вышло, cpiekarski.com/2011/05/09/super-easy-python-json-c... написан для 2ого и в 3й не вышло переделать.

Работать должно как под Linux, так и под Windows.
  • Вопрос задан
  • 3286 просмотров
Решения вопроса 1
Если есть возможность повлиять на то, каким именно образом прилетает JSON, то можно попросить разделять их, к примеру, переводом строки. Перевод строки в самом [не pretty] JSON встречаться не может, в строках он будет экранирован, а потому можно наращивать прочитанные из сокета данные до тех пор, пока не встретится перевод строки, и то, что перед ним, кормить json.loads, а остальное продолжать наращивать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы