json.encode(table [,compatible])
Konvertiert eine Lua-Tabelle in eine JSON-codierte Zeichenfolge. Der spezielle Wert " json.NULL kann verwendet werden, um einen Nullwert in einer Lua-Tabelle zu speichern, da es nicht möglich ist, einen Lua-Nullwert in einer Tabelle zu speichern.
t = {111,222,333,foo="abc"}
Die Verwendung von " json.encode(t) für diese Tabelle ergibt die Zeichenfolge{1:111,2:222,3:333,"foo":"abc"}", was keine zulässige Kodierung für JSON ist, während " json.encode(t,true) die Zeichenfolge{"1":111,"2":222,"3":333,"foo":"abc"}" ergibt. Im kompatiblen Format werden alle ganzzahligen Schlüssel der Tabelle in Zeichenfolgeschlüssel konvertiert.
json.encode versucht nicht, rekursive Tabellen zu erkennen, daher führt der unten gezeigte Code zu einem Stapelüberlauffehler.t = {1,2,3}
t[4] = t
str = json.encode(t)Beispielt = {a=123,b=987,c=333,d=json.NULL}
str = json.encode(t)