JSON to Lua Table Converter for FiveM

Bidirektionale Umwandlung zwischen JSON- und Lua-Table-Syntax. Unterstützt verschachtelte Objekte, Arrays, Booleans und null/nil.

Wofür dieses Tool gedacht ist

Daten kommen als JSON von einer API, aus einem Datenbankexport oder einem anderen Skript, und eine FiveM-Config will eine Lua-Tabelle. Die beiden sehen ähnlich genug aus, dass Leute sie von Hand konvertieren, und dann bricht eine null, ein Schlüssel mit Bindestrich oder ein verschachteltes Array stillschweigend die Datei. Dieser Konverter handhabt beide Richtungen und behandelt die Randfälle korrekt.

Wie man es benutzt

  1. Schritt 1:

    Füge dein JSON in das linke Feld ein, oder wechsle die Richtung, um eine Lua-Tabelle zurück in JSON zu verwandeln.

  2. Schritt 2:

    Konvertiere. Verschachtelte Objekte, Arrays, Booleans und null werden übersetzt, null wird zu nil.

  3. Schritt 3:

    Überprüfe Schlüssel, die keine einfachen Bezeichner sind. Sie kommen in Klammernotation heraus, weil Lua das verlangt.

  4. Schritt 4:

    Kopiere oder lade das Ergebnis herunter und füge es in deine Config oder Resource ein.

Häufig gestellte Fragen

Wie wird null konvertiert?

null wird zu nil, und das hat eine Konsequenz: Ein nil-Wert in einer Lua-Tabelle entfernt den Schlüssel, anstatt einen leeren Wert zu speichern. Ein JSON-Array mit einem null in der Mitte wird daher kürzer und hat eine Lücke in der Nummerierung.

Warum erscheinen manche Schlüssel in eckigen Klammern?

Lua erlaubt nur die einfache Form key = value für gültige Bezeichner. Schlüssel mit Bindestrichen, Leerzeichen oder einer führenden Zahl müssen als ["my-key"] geschrieben werden, sonst kann die Datei nicht geparst werden.

Behalten Arrays ihre Reihenfolge?

Ja, ein Array wird zu einer nummerierten Tabelle und die Reihenfolge bleibt erhalten. Beachte, dass Lua bei 1 zählt, nicht bei 0, also ist das erste Element deines JSON-Arrays in Lua Index 1.

Kann ich eine ganze Config zurück zu JSON konvertieren?

Die Rückrichtung funktioniert mit sauberen Datentabellen. Lua-Code innerhalb der Tabelle, wie Funktionsdefinitionen oder Konkatenationen, kann nicht verarbeitet werden, da JSON keine Darstellung dafür hat.