我有这个Lua文件,其中包含以下代码:
options = {
["VR"] = {
["box_mouse_cursor"] = false,
["custom_IPD"] = 63.5,
["custom_IPD_enable"] = true,
["enable"] = false,
["hand_controllers"] = false,
["pixel_density"] = 2,
["prefer_built_in_audio"] = true,
["use_mouse"] = true,
}
}
我试图找到一个程序集,将其解析为.Net Framework 4.5.1 C#项目可用的组件。 LuaInterface是.NET标准2.0项目,无法在.Net Framework 4.5.1中使用,因此不在讨论之列。
是否有可用的工具可以解析此信息,并希望将其重新序列化?
答案 0 :(得分:3)
我会考虑使用Lua将您具有的嵌套表结构编码为JSON。这将为您提供一种标准格式以写入磁盘和/或轻松地传递到另一个代码库。当您在线搜索(lua table encode json
时,甚至在此处搜索时,都有很多可用的选项,因此当有人问类似的问题时,人们正试图踩着JSON编码/解码Lua库。例如,Here是相反的情况。
答案 1 :(得分:2)
0)下载LuaInterface 2.0.3
1)将LuaInterface.dll
添加到C#项目中,将lua51.dll
复制到项目文件夹中
2)修改app.config
(向启动标签添加属性)
<startup useLegacyV2RuntimeActivationPolicy="true">
3)编写C#代码以读取所需的值:
using LuaInterface;
Lua lua = new Lua();
string Lua_code = @"
options = {
[""VR""] = {
[""box_mouse_cursor""] = false,
[""custom_IPD""] = 63.5,
[""custom_IPD_enable""] = true,
[""enable""] = false,
[""hand_controllers""] = false,
[""pixel_density""] = 2,
[""prefer_built_in_audio""] = true,
[""use_mouse""] = true,
}
}
";
lua.DoString(Lua_code);
double custom_IPD_value = (double)lua["options.VR.custom_IPD"];
textBox1.Text = custom_IPD_value.ToString();