Kontakt.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 を頻繁に使用するわけではないので、これには少し慣れていません。