gpt4 book ai didi

json - 检查 Lua 表中是否存在值

转载 作者:行者123 更新时间:2023-12-04 11:24:50 26 4
gpt4 key购买 nike

我在带有 NodeMCU 固件的 ESP8266 Wifi 模块上运行 Lua。我的应用程序正在监听 JSON 请求的 TCP 端口。当我收到请求时,我使用以下方法解析它:

jsonRequest = json.decode(request)

那么我可以通过以下方式访问所需的值:
jsonRequest.object.state

一切正常,直到我发送无效的 JSON(没有“对象”)。发生这种情况时,我收到此错误: Lua API(尝试索引一个 nil 值)我的程序停止执行。

我的问题:我想在访问之前检查我的表是否包含该键,但我找不到方法来做到这一点。

我可以用 做到这一点对函数并遍历所有键并检查是否有正确的键,但这需要 手数代码,因为我的 JSON 中有多个嵌套对象。

有任何想法吗?

最佳答案

检查表是否jsonRequest包含 key "object" , 用:

if jsonRequest.object ~= nil then

如果存储在表中的值不是 bool 值 false ,您还可以使用:
if jsonRequest.object then

关于json - 检查 Lua 表中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30279896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com