如何通过使用lua从数组中获取所有值

kri*_*ish 1 lua lua-table

我有一个多维数组:

result = {
  {
    data = {
      language = "English",
      name = "Freak Out",
      list = {
        {
          type = "songs",
          album = "1234"
        }, {
          type = "songs",
          album = "4234"
        }, {
          type = "songs",
          album = "5829"
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如何动态访问此数组中的列表?

此代码正在打印第一张相册(1234):

for i, v in pairs(result) do print(v.data.list[1].album) end
Run Code Online (Sandbox Code Playgroud)

我想album用它们打印所有的type。我该怎么做呢?

gle*_*man 6

result是表
result[i].data.list列表,是表列表。

for _, res in ipairs(result) do
  for _, song in ipairs(res.data.list) do
    print(song.type, song.album)
  end
end
Run Code Online (Sandbox Code Playgroud)

这个输出

songs   1234
songs   4234
songs   5829
Run Code Online (Sandbox Code Playgroud)