0

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

4

2 に答える 2