Lua:
Trabajando con JSON

Cómo hacerlo:

Lua no incluye una biblioteca incorporada para el procesamiento de JSON. Por lo tanto, una de las bibliotecas de terceros populares es dkjson, la cual puedes usar fácilmente para codificar y decodificar JSON. Primero, asegúrate de instalar dkjson, por ejemplo, a través de LuaRocks (luarocks install dkjson), y luego sigue los ejemplos a continuación.

Decodificando JSON a Tabla 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 ("Error:", err)
else
  print("Nombre:", luaTable.name) -- Salida: Nombre: Programador Lua
  print("Edad:", luaTable.age) -- Salida: Edad: 30
  print("Idiomas:", table.concat(luaTable.languages, ", ")) -- Salida: Idiomas: Lua, JavaScript
end

Codificando Tabla Lua a JSON

local dkjson = require "dkjson"

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

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

Ejemplo de salida para la codificación:

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

Estos ejemplos sencillos demuestran cómo trabajar con JSON en Lua, facilitando la integración de aplicaciones Lua con diversas tecnologías web y APIs externas. Recuerda, aunque dkjson se usa en estos ejemplos, otras bibliotecas como cjson y RapidJSON también pueden ser alternativas adecuadas dependiendo de las necesidades de tu proyecto.