希望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'
非常感谢!
答案 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
确定您的工作方式。