猿问

解析 json 文件以收集数据并存储在列表/数组中

我正在尝试构建 IOT 设置。我正在考虑使用 json 文件来存储传感器和设置灯的状态。


我创建了一个函数来测试我的概念。这是我迄今为止为数据方面写的内容。


            {

                "sensor_data": [

                    {

                        "sensor_id": "302CEM/lion/light1",

                        "sensor_state": "on"

                    },

                    {

                        "sensor_id": "302CEM/lion/light2",

                        "sensor_state": "off"

                    }

                ]

            }


            def read_from_db():

                with open('datajson.json') as f:

                    data = json.load(f)


                for sensors in data['sensor_data']:

                    name = sensors['sensor_id']




            read_from_db()

我想要做的是将 sensor_id 解析为一个数组,以便我可以通过说例如 sensor_name[0] 来访问它们。我不知道该怎么做。我试过 array.array 但它不保存任何值,也试过 .append 但不是我预期的结果。有什么建议?


慕后森
浏览 198回答 1
1回答

哆啦的时光机

如果我理解正确,您所要做的就是将所有这些传感器分配给names使用for循环,然后返回结果:import jsondef read_from_db():    with open('sensor_data.json') as f:        data = json.load(f)        names = [sensors['sensor_id'] for sensors in data['sensor_data']]        return namessensor_names = read_from_db()for i in range(len(sensor_names)):    print(sensor_names[i])这将打印:302CEM/lion/light1302CEM/lion/light2
随时随地看视频慕课网APP

相关分类

Python
我要回答