我有一个JSON数据的API,它有大约600个条目,每个条目都包含关于对象的变化数据。在某些情况下,有一个关键数据值,而在另一些情况下,没有。我想检查JSON数据是否存在并存储它,以及它是否没有移动到下一个设备
尝试对包含特定数据和不包含特定数据的条目进行排序:
if data["entity"][n]["sensor_data"]["light_ intensity"] in data["entity"]:
logger.debug("There is light_intensity data on this devcie")
light_ intensity = data["entity"][n]["sensor_data"]["light_ intensity"]
最好的方法是什么?现在我得到了一个KeyError
没有定义“光强度”——如果我手动查看数据并搜索一个确实有light_ intensity
数据的实体,然后像这样硬编码它
light_ intensity = data["entity"][222]["sensor_data"]["light_intesity"]
logger.debug("Devcie 222 light_intesity: %s lums", light_intesity)
退货:
Device 222 light_intensity: 88 lums
这告诉我,我可以从有数据的实体中读取数据,从没有数据的实体中获取KeyError
。我试图创建一个搜索,在某种意义上说,让我找到什么设备有光读数百分比,并使用该数据和跳过设备,目前没有发送该数据
首先,您将强度拼写错误,
light_intensity
的值不会是in data["entity"]
,如果这是一个dict列表,但强度只是一个数字但是如果您想循环所有元素并且不确定它们是否存在,请使用
dict.get(key, default)
相关问题 更多 >
编程相关推荐