Я пытаюсь получить данные от брокера Kontat.io MQTT. Это формат, который он предоставляет, включая ведущие b и трейлинг *
b'[
{
"timestamp":1530121741,
"sourceId":"OaBW9",
"trackingId":"t7J5",
"rssi":-57,
"proximity":"IMMEDIATE",
"scanType":"BLE",
"deviceAddress":"ea:21:88:b3:d2:5f"
},
{
"timestamp":1530121741,
"sourceId":"OaBW9",
"trackingId":"t7J5",
"rssi":-68,
"proximity":"IMMEDIATE",
"scanType":"BLE",
"deviceAddress":"ea:21:88:b3:d2:5f"
}
]'
Поскольку в JSON нет никакой организации, кроме блоков, как я могу на самом деле извлечь из нее данные с помощью ключей?
Я пробовал:
test = ijson.items(str(msg.payload), 'rssi.item')
columns = list(test)
print(columns[0])
Как видно на многих примерах, но я не могу понять, как заставить его работать, не "роясь" в деревьях JSON (как в примерах earth.europe.etc.item, видимых повсюду). Должен ли я пытаться получить rssi.item, используя индексы массивов или что-то подобное? Должен ли я обрезать JSON "B" "и конечный" ""?
Я не часто работаю с Python, поэтому я чувствую себя немного не в своей тарелке с этим.