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