我是Lua的新手。我需要将以下字符串转换为Lua表格。我该怎么做?
str = "{a=1, b=2, c={d=3,e=4} }"
我希望将这个字符串转换成Lua表格,这样我就可以像这样访问它:
print(str['a']) -- Output : 1
print(str['c']['d']) -- Output : 3
你可以在字符串的开头添加str =
,让解释器将该字符串作为一个代码块加载。请注意,loadstring
不会运行该代码块,而是返回一个函数。因此,你需要添加()
来立即调用该函数并实际执行代码:
loadstring("str = "..str)()
这样做会达到同样的效果:
str = loadstring("return "..str)()
如果您不是自己生成字符串,这可能会很危险(因为任何代码都将被执行)。在这种情况下,您可能希望手动解析该字符串,以确保它实际上是一个表格并且不包含任何恶意函数调用。