У меня есть байтовые массивы различных размеров, поступающие через последовательный порт, которые должны быть преобразованы в объекты JSON.
Проблема
Проблема заключается в том, что несколько сообщений могут встречаться одновременно. Когда я декодирую массивы, данные выглядят так:
{"time":1571813129,"device":"abc","count":0}{"time":1571813129,"device":"def","count":0}
Там, где несколько строк вместе, которые я пытаюсь разделить простым способом, чтобы затем преобразовать в JSON.
Код
x = ser1.read(256)
if x:
x = x.decode()
Я также попытался ser1.readline()
, но данные все еще находятся на той же строке, поэтому я вернулся к той же проблеме.
Вопрос
Как лучше всего справиться с этой ситуацией?
- Струны разной длины (я поставил
read(256)
, чтобы их было более чем достаточно) - Есть несколько сообщений, поступающих одновременно (в настоящее время это строки, но я хочу разбить их на отдельные объекты JSON)