Aller au contenu principal

Convertir une chaîne JSON en valeur Lua (json.decode)

Déclaration

valeur, message_erreur = json.decode(texte_JSON)

Paramètres

  • Texte JSON
    Type texte, texte JSON à convertir en table

Valeur renvoyée

  • Valeur
    Type table, texte, nombre, booléen, json.null ou nil ; en cas de réussite, renvoie une valeur Lua correspondant à la structure de la chaîne JSON, sinon renvoie nil
  • Message d’erreur
    Type texte ou nil ; si Valeur vaut nil en cas d’échec de la conversion, cette valeur renvoie le message d’erreur précis

Description

Convertit le texte JSON en valeur de données correspondante dans Lua
Cette fonction peut être utilisée dans XUI

Exemple

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())

Remarque : le code ci-dessus utilise les fonctions hors de ce chapitre table.deep_dump, print.out et sys.alert

-- Restaurer le texte échappé Unicode de la forme \uXXXX avec json.decode
sys.alert(json.decode([["\u4f60\u597d"]])) -- Sortie : chaîne décodée

Remarque : le code ci-dessus utilise la fonction hors de ce chapitre sys.alert