Aller au contenu principal

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