Methode zum serialisieren lua-Tabellen
Ich verpasst haben, aber gibt es eine integrierte Methode zum serialisieren/Deserialisieren von lua-Tabellen, um text-Dateien und Umgekehrt?
Hatte ich ein paar Methoden, die in Ort, um dies zu tun auf einer lua-Tabelle mit festem format (z.B. 3 Spalten von Daten mit 5 Zeilen).
Gibt es eine Möglichkeit, dies zu tun zu lua-Tabellen mit allen beliebigen format?
Für ein Beispiel, denn dieses lua-Tabelle:
local scenes={
{name="scnSplash",
obj={
{
name="bg",
type="background",
path="scnSplash_bg.png",
},
{
name="bird",
type="image",
path="scnSplash_bird.png",
x=0,
y=682,
},
}
},
}
Es würde umgewandelt werden in den text wie dieser:
{name="scnSplash",obj={{name="bg",type="background",path="scnSplash_bg.png",},{name="bird", type="image",path="scnSplash_bird.png",x=0,y=682,}},}
Das format des serialisierten text kann definiert werden, in keiner Weise, solange der text-string kann deserialisiert werden in eine leere lua-Tabelle.
- Diese Frage stellt einige nützliche Infos zur Serialisierung Formate: stackoverflow.com/questions/6355497/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, warum JSON-Bibliothek war gekennzeichnet, wie die richtige Antwort, wie es zu sein scheint sehr begrenzt serialisieren "lua-Tabellen mit beliebigen format". Es nicht handhaben boolean/Tabelle/Funktion der Werte als Schlüssel und nicht in der Lage zirkuläre Referenzen. Freigegebene Verweise werden nicht serialisiert als gemeinsame und
math.huge
Werte werden nicht serialisiert korrekt auf Windows. Ich merke, dass die meisten von diesen sind JSON-Einschränkungen (und damit implementiert auf diese Weise in die Bibliothek), aber dies wurde vorgeschlagen, als Lösung für das generische Lua-Tabelle Serialisierung (was es nicht ist).Wäre man besser dran, mit einer der Implementierungen von TableSerialization Seite oder meine Schlange serializer und pretty-printer.
Lua allein keine solche builtin, aber die Umsetzung ist nicht schwer. Eine Reihe von prebaked-Implementierungen sind hier aufgelistet: http://lua-users.org/wiki/TableSerialization
Referenz hier für eine einfache json-serializer.