Как читать JSON от розетки в Python? (Инкрементное распределение JSON)

У меня открывается разъем, и я хотел бы прочитать некоторые данные JSON. Проблема Состоит в том, что модуль JSON из стандартной библиотеки может только разбираться из строк ( нагрузки только читает весь файл и вызовы нагрузки внутри) он даже выглядит так Внутри модуля все зависит от параметра, являющегося строкой.

Это реальная проблема с сокетами, поскольку вы никогда не можете прочитать все это строку, и вы не знаете, сколько байтов, чтобы прочитать, прежде чем вы на самом деле разбирать его.

Итак, мои вопросы: есть ли (простой и элегантный) обходной путь? Есть ли (простой и элегантный) обходной путь? Есть ли другая библиотека JSON, которая может постепенно разбирать данные? Стоит ли написать это сам?

Редактировать: это XBMC JSONRPC API. Там нет никаких сообщений И у меня нет контроля над форматом. Каждое сообщение может быть на одной строке или на нескольких строках. Я мог бы написать какой-то простой парсер, который нуждается в функции GETC в некоторой форме и кормить его, используя S.RECV (1) , но это не так, как это не очень важно, и я немного ленивый Что: -)

- Как сказать, может ли 32 бит INT в соответствии с 16 битным коротким , используя только:! ~ & ^ | + << >> Мне нужно выяснить, может ли подписанное 32-битное целое число можно представить в качестве 16-битного целого числа в течение 16 битов. Мои первые мысли были отделены только MSB 16 ...

, используя только:

! ~ & ^ | + << >>

Мне нужно выяснить, может ли подписанное 32-битное целое число можно представить как 16-бит, два комплемента.

Мои первые мысли были отделить MSB 16 бит и 16 битов LSB, а затем используйте маску до и последние 16 битов, поэтому, если его не нулевой, он не сможет быть представлен, а затем использовать этот номер для проверки Биты MSB.

Пример функции, который мне нужно написать: fitsinshort (33000) = 0 (не может быть представлен) и fitsinshort (-32768) = 1 (можно представить)

7
задан Gilles 'SO- stop being evil' 29 September 2012 в 13:53
поделиться