Lua-Werte in JSON-Strings umwandeln (json.encode)
Deklaration
JSON-Text, Fehlermeldung = json.encode(Wert)
Parameter
- Wert
Tabellentyp, Texttyp, Zahlentyp, Boolescher Typ oderjson.null; der in JSON-Text umzuwandelnde Lua-Wert
Rückgabewerte
- JSON-Text
Texttyp odernil; bei erfolgreicher Umwandlung wird ein JSON-String zurückgegeben, andernfallsnil - Fehlermeldung
Texttyp odernil; wenn die Umwandlung fehlschlägt und JSON-Text den Wertnilhat, enthält dieser Rückgabewert die konkrete Fehlermeldung
Beschreibung
Die Umwandlung von Datenwerten in Lua in das JSON-Format erleichtert den Austausch mit anderen Sprachen.
Hinweis: Nicht jeder Lua-Wert kann in JSON umgewandelt werden, zum Beispiel Benutzerdaten, Funktionen oder Tabellen, die Benutzerdaten oder Funktionen enthalten.
Diese Funktion kann in XUI verwendet werden.
Beispiel
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))
Hinweis: Der obige Code verwendet die Funktion sys.alert, die nicht in diesem Kapitel beschrieben wird.