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

时间:2018-08-01 10:05:55

标签: json lua

希望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: bad argument #2 to 'newText' (string expected, got table)
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: bad argument #2 to 'newText' (string expected, got nil)
stack traceback:
[C]: in function 'newText'

非常感谢!

1 个答案:

答案 0 :(得分:1)

可能是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

确定您的工作方式。