我有一堆 Lua 表形式的数据,我想将这些数据解析为 C# 中的可用结构。
Lua 表的问题在于有可选字段,表是非常动态的,而不仅仅是一个字典,键为一种类型,值为一种类型。可以有一个 Lua 表,其中包含字符串和整数键,以及整数、字符串甚至表类型的值。
可悲的是,我正在解析的数据利用了语言的动态特性,并没有以任何直接的方式进行结构化。这需要数据的动态表示,例如使用Dictionary<object, dynamic>
.
数据的格式是例如(来自http://ideone.com/9nzXvt)
local mainNode =
{
[0] =
{
Name = "First element",
Comments = "I have comments!",
Data = { {123, 456}; foo = { "bar" } }
},
[1337] =
{
Name = "Another element",
Data = { {0}; foo = nil }
}
}
有没有图书馆可以做到这一点?有没有办法在不逐字符解析数据的情况下实现这一点?