JSON-Strings in Lua-Werte umwandeln (json.decode)
Deklaration
Wert, Fehlermeldung = json.decode(JSON-Text)
Parameter
- JSON-Text
Texttyp; der in eine Tabelle umzuwandelnde JSON-Text
Rückgabewerte
- Wert
Tabellentyp, Texttyp, Zahlentyp, Boolescher Typ,json.nullodernil; bei erfolgreicher Umwandlung wird ein dem JSON-String entsprechender Lua-Wert zurückgegeben, andernfallsnil - Fehlermeldung
Texttyp odernil; wenn die Umwandlung fehlschlägt und Wertnilist, enthält dieser Rückgabewert die konkrete Fehlermeldung
Beschreibung
Wandelt JSON-Text in den entsprechenden Datenwert in Lua um.
Diese Funktion kann in XUI verwendet werden.
Beispiel
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())
Hinweis: Der obige Code verwendet die Funktionen table.deep_dump, print.out und sys.alert, die nicht in diesem Kapitel beschrieben werden.
-- Unicode-Escapes im Format \uXXXX mit json.decode wieder in Text umwandeln
sys.alert(json.decode([["\u4f60\u597d"]])) -- Ausgabe: "你好"
Hinweis: Der obige Code verwendet die Funktion sys.alert, die nicht in diesem Kapitel beschrieben wird.