Saltar al contenido principal

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

Declaración

valor, mensaje_error = json.decode(texto_JSON)

Parámetros

  • texto_JSON
    Tipo texto; texto JSON que se debe convertir en una tabla

Valores devueltos

  • valor
    Tipo tabla, texto, numérico, booleano, json.null o nil; si la conversión tiene éxito, devuelve un valor Lua correspondiente a la estructura de la cadena JSON; de lo contrario, devuelve nil
  • mensaje_error
    Tipo texto o nil; si la conversión falla y valor es nil, este valor devuelto contiene el mensaje de error concreto

Descripción

Convierte texto JSON en el valor de datos correspondiente en Lua.
Esta función se puede utilizar en XUI.

Ejemplo

print(json.decode('true'))
print(json.decode('17'))
print(json.decode('"哈哈"'))
print(json.decode('null'))
print(json.decode(''))
print(table.deep_dump(json.decode('{}')))
print(table.deep_dump(json.decode('{"name":"alice","hello":"world"}')))
print(table.deep_dump(json.decode('[]')))
print(table.deep_dump(json.decode('[1, 2, 3, "foo"]')))
--
sys.alert(print.out())

Nota: el código anterior utiliza las funciones table.deep_dump, print.out y sys.alert, que no pertenecen a este capítulo.

-- usar json.decode para restaurar a texto los escapes Unicode con formato \uXXXX
sys.alert(json.decode([["\u4f60\u597d"]])) -- muestra el texto chino correspondiente

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