Lua:
Trabalhando com JSON

Como fazer:

Lua não inclui uma biblioteca interna para processamento de JSON. Portanto, uma das bibliotecas de terceiros populares é a dkjson, que você pode usar facilmente para codificação e decodificação de JSON. Primeiro, certifique-se de instalar o dkjson, por exemplo, através do LuaRocks (luarocks install dkjson), e então siga os exemplos abaixo.

Decodificando JSON para Tabela Lua

local dkjson = require "dkjson"

local jsonString = '{"name": "Programador Lua", "age": 30, "languages": ["Lua", "JavaScript"]}'
local luaTable, pos, err = dkjson.decode(jsonString, 1, nil)
if err then
  print ("Erro:", err)
else
  print("Nome:", luaTable.name) -- Saída: Nome: Programador Lua
  print("Idade:", luaTable.age) -- Saída: Idade: 30
  print("Linguagens:", table.concat(luaTable.languages, ", ")) -- Saída: Linguagens: Lua, JavaScript
end

Codificando Tabela Lua para JSON

local dkjson = require "dkjson"

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

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

Saída de exemplo para codificação:

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

Estes exemplos simples demonstram como trabalhar com JSON em Lua, facilitando a integração de aplicações Lua com várias tecnologias web e APIs externas. Lembre-se, enquanto dkjson é usado nesses exemplos, outras bibliotecas como cjson e RapidJSON também podem ser alternativas adequadas dependendo das necessidades do seu projeto.