Lua network.request使用方括号检索JSON

希望这是个简单的Lua问题。我在访问JSON数据时遇到了问题。我写了以下代码:

item3 = decoded.items[1].rights
local myText = display.newText(sceneGroup, item3, 150, 80, native.systemFont, 16 )
    myText:setFillColor( 1, 1, 1 )

但是出现了错误

C:\Users\...\data_workingbasics.lua:57: 在'newText'中接收到了错误的参数 #2 (预期是字符串,实际是表)
stack traceback:
[C]: in function 'newText'

我认为问题在于JSON数据看起来像下面这样,我不知道如何用方括号获取这个数据。您知道如何编写正确的路径吗?

"rights":["http://creativecommons.org/licenses/by-nc-sa/4.0/"],

顺便说一下,我也尝试了‘item3 = decoded.items[1].rights[0]’,但出现了以下错误:

C:\Users\...\data_workingbasics.lua:57: 在'newText'中接收到了错误的参数 #2 (预期是字符串,实际是nil)
stack traceback:
[C]: in function 'newText'

非常感谢!

点赞
用户4403144
用户4403144

可能是 item3 = decoded.items[1].rights ["rights"]。如果不是,则使用一些老式的调试,并添加打印语句显示表的属性。例如:

print(#decoded.items[1].rights)

或遍历表的键和值以查看其结构:

for k,v in pairs(decoded.items[1].rights) do
    print(k, v)
end

确定您正在使用的内容。

2018-08-01 11:03:51