У меня открывается разъем, и я хотел бы прочитать некоторые данные JSON. Проблема Состоит в том, что модуль JSON
из стандартной библиотеки может только разбираться из строк ( нагрузки
только читает весь файл и вызовы нагрузки
внутри) он даже выглядит так Внутри модуля все зависит от параметра, являющегося строкой.
Это реальная проблема с сокетами, поскольку вы никогда не можете прочитать все это строку, и вы не знаете, сколько байтов, чтобы прочитать, прежде чем вы на самом деле разбирать его.
Итак, мои вопросы: есть ли (простой и элегантный) обходной путь? Есть ли (простой и элегантный) обходной путь? Есть ли другая библиотека JSON, которая может постепенно разбирать данные? Стоит ли написать это сам?
Редактировать: это XBMC JSONRPC API. Там нет никаких сообщений И у меня нет контроля над форматом. Каждое сообщение может быть на одной строке или на нескольких строках.
Я мог бы написать какой-то простой парсер, который нуждается в функции GETC в некоторой форме и кормить его, используя S.RECV (1)
, но это не так, как это не очень важно, и я немного ленивый Что: -)
, используя только:
! ~ & ^ | + << >>
Мне нужно выяснить, может ли подписанное 32-битное целое число можно представить как 16-бит, два комплемента.
Мои первые мысли были отделить MSB 16 бит и 16 битов LSB, а затем используйте маску до и последние 16 битов, поэтому, если его не нулевой, он не сможет быть представлен, а затем использовать этот номер для проверки Биты MSB.
Пример функции, который мне нужно написать: fitsinshort (33000) = 0 (не может быть представлен) и fitsinshort (-32768) = 1 (можно представить)