Как разобрать объект таблицы lua в json? - PullRequest
0 голосов
/ 08 апреля 2019

Мне было интересно, есть ли способ проанализировать таблицу lua в объект javascript, без использования каких-либо библиотек, т. Е. Require ("json") еще не видел ни одной, но если кто-то знает, как, пожалуйста, ответьте

Ответы [ 3 ]

1 голос
/ 08 апреля 2019

Если вы хотите узнать, как анализировать таблицы Lua в строки JSON, взгляните на исходный код любой из множества библиотек JSON, доступных для Lua.

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

0 голосов
/ 08 апреля 2019

Если вы не хотите использовать какую-либо библиотеку и хотите делать это с чистым кодом Lua, наиболее удобный для меня способ - использовать функцию table.concat:

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, ",") .. "}"

Если у вашей таблицы есть вложенные таблицы, вы можете сделать это рекурсивно.

0 голосов
/ 08 апреля 2019

Много JSON-библиотек на чистом Lua.
Даже у меня есть один .

Как включить модуль pure-Lua в ваш скрипт без использования require():

  1. Загрузите модуль Lua JSON (например, перейдите в мой json.lua , щелкните правой кнопкой мыши Raw и выберите Save Link as в контекстном меню)
  2. Удалить последнюю строку return json из этого файла
  3. Вставьте весь файл в начале вашего скрипта
  4. Теперь вы можете использовать local json_as_string = json.encode(your_Lua_table) в своем скрипте.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...