如何将Lua表对象解析为JSON?

时间:2019-04-08 05:09:52

标签: json parsing lua

我想知道是否有一种方法可以在不使用任何库的情况下将lua表解析为javascript对象,即require(“ json”)尚未见过,但是如果有人知道如何回答

3 个答案:

答案 0 :(得分:1)

如果您想知道如何将Lua表解析为JSON字符串,请查看可用于Lua的许多JSON库中任何一个的源代码。

http://lua-users.org/wiki/JsonModules

例如:

https://github.com/rxi/json.lua/blob/master/json.lua

https://github.com/LuaDist/dkjson/blob/master/dkjson.lua

答案 1 :(得分:0)

有很多纯Lua JSON库。
甚至我都有one

如何在不使用require()的情况下将pure-Lua模块包含到脚本中:

  1. 下载Lua JSON模块(例如,转到我的json.lua,右键单击Raw,然后在上下文菜单中选择Save Link as
  2. 从该文件中删除最后一行return json
  3. 在脚本开头插入整个文件
  4. 现在您可以在脚本中使用local json_as_string = json.encode(your_Lua_table)

答案 2 :(得分:0)

If you do not want to use any library and want to do it with pure Lua code the most convenient way for me is to use table.concat function:

local result

for key, value in ipairs(tableWithData) do
    -- prepare json key-value pairs and save them in separate table
    table.insert(result, string.format("\"%s\":%s", key, value))
end

-- get simple json string
result = "{" .. table.concat(result, ",") .. "}"

If your table has nested tables you can do this recursively.