Lua:
Робота з JSON

Як це зробити:

Lua не включає вбудованої бібліотеки для обробки JSON. Таким чином, однією з популярних сторонніх бібліотек є dkjson, яку ви можете легко використовувати для кодування і декодування JSON. Спочатку переконайтеся, що встановили dkjson, наприклад, через LuaRocks (luarocks install dkjson), а потім слідуйте прикладам нижче.

Декодування JSON до таблиці Lua

local dkjson = require "dkjson"

local jsonString = '{"name": "Lua Programmer", "age": 30, "languages": ["Lua", "JavaScript"]}'
local luaTable, pos, err = dkjson.decode(jsonString, 1, nil)
if err then
  print ("Помилка:", err)
else
  print("Ім'я:", luaTable.name) -- Вивід: Ім'я: Lua Programmer
  print("Вік:", luaTable.age) -- Вивід: Вік: 30
  print("Мови:", table.concat(luaTable.languages, ", ")) -- Вивід: Мови: Lua, JavaScript
end

Кодування таблиці Lua в JSON

local dkjson = require "dkjson"

local luaTable = {
  name = "Lua Programmer",
  age = 30,
  languages = { "Lua", "JavaScript" }
}

local jsonString = dkjson.encode(luaTable, { indent = true })
print(jsonString)

Приклад виводу для кодування:

{
  "age": 30,
  "languages": [
    "Lua",
    "JavaScript"
  ],
  "name": "Lua Programmer"
}

Ці прості приклади демонструють, як працювати з JSON у Lua, роблячи легким інтеграцію програм Lua з різними веб-технологіями та зовнішніми API. Пам’ятайте, хоча в цих прикладах використовується dkjson, інші бібліотеки, такі як cjson та RapidJSON, також можуть бути підходящими альтернативами залежно від потреб вашого проекту.