Convertir une valeur Lua en chaîne JSON (json.encode)
Déclaration
texte_JSON, message_erreur = json.encode(valeur)
Paramètres
- Valeur
Type table, texte, nombre, booléen ou json.null ; valeur Lua à convertir en texte JSON
Valeur renvoyée
- Texte JSON
Type texte ou nil ; en cas de réussite, renvoie une chaîne JSON, sinon renvoie nil - Message d’erreur
Type texte ou nil ; si Texte JSON vaut nil en cas d’échec de la conversion, cette valeur renvoie le message d’erreur précis
Description
Convertir les valeurs de données Lua en JSON facilite leur échange avec d’autres langages
Attention : toute valeur Lua ne peut pas être convertie en JSON. Par exemple, les userdata, les fonctions et les tables contenant des userdata ou des fonctions ne le peuvent pas
Cette fonction peut être utilisée dans XUI
Exemple
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))
Remarque : le code ci-dessus utilise la fonction hors de ce chapitre sys.alert