表Lua中的项目

时间:2017-07-23 07:32:02

标签: lua corona

所以我有一张使用Lua的表,其中有一个变量,但由于其名称,我无法弄清楚如何到达它。我能够使用json.prettify( _id )来查看表格中的内容。我想要的只是这张表中的id,但由于它的命名方式我似乎无法获得_id内的内容,我尝试了两个

_id[1]但是== nil
_id.$oid但这给了我一个运行时错误

打印回复:_id = {
 "$oid":"597015b757203b04d6941d45"
}

有趣的是,#_id == 0

3 个答案:

答案 0 :(得分:3)

使用

tableName[ 'variableName' ]

tableName.variableName

注意:有时您不能同时使用这两种形式:

tableName[ 'name with spaces' ] -- ok

tableNames.name with spaces -- error

我认为operator #不能与非索引表一起使用。

答案 1 :(得分:2)

您需要将json字符串解码为Lua表并以任何方式获取值:

local   json = require("json")

local  str = [[ { "$oid":"597015b757203b04d6941d45" } ]]

local t_res= json.decode(str)

-- access
print( t_res["$oid"] )
-- or 
local k,v = next(t_res)
print( v )
-- or
for k, v in pairs(t_res) do
  print(v)
  break 
end

PS:Lua运算符#仅适用于常规数组,具有非零值。

答案 2 :(得分:0)

为了克服这个变量的名称包括' $'符号在表中获取变量的正确方法是使用:

_id [' $ oid'],这很有用。

_id。$ oid发出运行时错误。