我正在尝试构建物联网设置。我正在考虑使用 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 但不是我预期的结果。有什么建议吗?
最佳答案
如果我理解正确的话,您所要做的就是使用 for
循环将所有这些传感器分配给 names
,然后返回结果:
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
关于python - 解析 json 文件以收集数据并存储在列表/数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54581011/