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.