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.bシンタックス シュガーですa["b"]。もちろん、可能な場合にのみ使用でき、結果の式は他の意味を持ちません(例のように)。

したがって、使用する必要があります

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

次のように、すべてのドットをドロップして only を使用することもできます[]

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

これは、ファイルに書き込まれたものとまったく同じ形式です。

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