我已经搜索了答案,这应该很简单,但是我找不到解决方案。
我正在尝试索引来自太阳能逆变器的json对象的数据。
当逆变器运行时,PAC字段包含我想要的POWER AC值。当太阳落下时,该字段不会降为0,它会从API响应中完全消失,因此我的代码将引发错误,试图索引不存在的字段。
我如何捕获此错误并在不存在该字段的情况下返回0?
PAC = resp1.Body.Data.PAC.Value
我尝试过:
PAC = resp1.Body.Data.PAC.Value or 0
但是那不起作用。
如果PAC = resp1.Body.Data.PAC.Value
导致索引nil值出错,PAC = resp1.Body.Data.PAC.Value or 0
将导致相同的错误,因为您仍然索引相同的nil值。
我只能猜测resp1.Body.Data.PAC
为零。
然后类似
PAC = resp1.Body.Data.PAC and resp1.Body.Data.PAC.Value or 0
将起作用。您应该找出什么是零。