Zum Hauptinhalt springen

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.null oder nil; bei erfolgreicher Umwandlung wird ein dem JSON-String entsprechender Lua-Wert zurückgegeben, andernfalls nil
  • Fehlermeldung
    Texttyp oder nil; wenn die Umwandlung fehlschlägt und Wert nil ist, 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.