为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕后森 2021-11-02 09:55:06
我正在尝试构建 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 但不是我预期的结果。有什么建议?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

如果我理解正确,您所要做的就是将所有这些传感器分配给names使用for循环,然后返回结果:


import json


def 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 names


sensor_names = read_from_db()

for i in range(len(sensor_names)):

    print(sensor_names[i])

这将打印:


302CEM/lion/light1

302CEM/lion/light2


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信