将字符串转换为lua中的表格
问题描述:
我是卢阿的新手。我需要将以下字符串转换为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)()
如果连你自己都不生成字符串,可虽然危险(因为任何代码将被执行)。在这种情况下,您可能需要手动解析字符串,以确保它实际上是一个表并且不包含错误的函数调用。
谢谢!效果很好.. – akashdeep 2013-03-15 12:20:39