Saltar al contenido principal

Convertir un valor Lua en una cadena JSON (json.encode)

Declaración

texto_JSON, mensaje_error = json.encode(valor)

Parámetros

  • valor
    Tipo tabla, texto, numérico, booleano o json.null; valor Lua que se debe convertir en texto JSON

Valores devueltos

  • texto_JSON
    Tipo texto o nil; si la conversión tiene éxito, devuelve una cadena JSON; de lo contrario, devuelve nil
  • mensaje_error
    Tipo texto o nil; si la conversión falla y el valor de texto_JSON es nil, este valor devuelto contiene el mensaje de error concreto

Descripción

Convertir valores de datos de Lua al formato JSON facilita el intercambio con otros lenguajes.
Nota: no todos los valores Lua se pueden convertir a JSON, por ejemplo, los datos de usuario, las funciones y las tablas que contienen datos de usuario o funciones.
Esta función se puede utilizar en XUI.

Ejemplo

local tb = {
["name"] = "alice",
["message"] = "hello, world",
scores = {
90, 85, 72, 100, 68,
},
nullvalue = json.null,
}
local jsonstr = json.encode(tb)
sys.alert(jsonstr)
--
local tmp = json.decode(jsonstr)
sys.alert(tmp.scores[4])
sys.alert(tostring(tmp.nullvalue))

Nota: el código anterior utiliza la función sys.alert, que no pertenece a este capítulo.