3

我正在调试别人的应用程序,我遇到了一个数据结构,当转储到文件时,它看起来像这样:

 ["value"] = {}
 ["value"]["0.ouname"] = {}
 ["value"]["0.ouname"]["label"] = "Test value"
 ["value"]["0.ouname"]["seq"] = 90
 ["value"]["0.ouname"]["type"] = "text"
 ["value"]["0.ouname"]["value"] = ""
 ["value"]["1.ouname"] = {}
 ["value"]["localityName"]["value"] = "California"

我需要能够从中提取序列号“90”,但我不知道如何。我可以通过执行以下操作来获得“加利福尼亚”的价值:

print(myvar.value.localityName.value)

但是,我似乎无法获得序列号

到目前为止,我已经尝试了以下方法:

print(myvar.value.0.ouname.seq)
print(myvar.value.["0.ouname"].seq)
print(myvar.value."0.ouname".seq)

但是我没有成功!

如果您有任何建议,我将不胜感激。

4

2 回答 2

3

在 Lua 中,a.ba["b"]. 当然,您只能在可能的情况下使用它,并且生成的表达式不会有其他含义(如您的示例中所示)。

因此,您必须使用

print(myvar.value["0.ouname"].seq)

您也可以删除所有点并仅使用[],例如:

print(myvar["value"]["0.ouname"]["seq"])

Which is exactly the same format that has been written to file.

于 2013-03-08T14:56:01.990 回答
2
print(myvar.value['0.ouname'].seq)
于 2013-03-08T14:44:09.970 回答