如何将 lua 表对象解析成 json?

我想知道是否有一种方法可以将 lua 表解析成 javascript 对象,而不使用任何库,即不使用 require("json"),我还没有见过这样的方法,但如果有人知道请回答。

点赞
用户2858170
用户2858170

如果你想知道如何将 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

2019-04-08 07:02:16
用户6834680
用户6834680

有很多纯Lua的JSON库。

甚至我也有一个

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

  1. 下载Lua JSON模块(例如,转到我的json.lua,右键单击 Raw 并在上下文菜单中选择 保存链接为
  2. 从该文件中删除最后一行 return json
  3. 在你的脚本开头插入整个文件
  4. 现在你可以在你的脚本中使用 local json_as_string = json.encode(your_Lua_table)
2019-04-08 11:09:40
用户7499554
用户7499554

如果你不想使用任何库,而是想使用纯 Lua 代码完成这个任务,我最推荐的方法是使用 table.concat 函数:

local result

for key, value in ipairs(tableWithData) do
    -- 准备好 json 的键值对,并将它们保存在一个单独的表中
    table.insert(result, string.format("\"%s\":%s", key, value))
end

-- 获取简单的 json 字符串
result = "{" .. table.concat(result, ",") .. "}"

如果你的表中有嵌套的表,你可以递归处理它们。

2019-04-08 13:53:03