Plak links je Lua en klik op "Converteren" — wij maken er JSON vanPlak Lua-code

Wat deze tool doet

Als je ooit een Lua-table uit een game-config, een Redis-script of een nginx-OpenResty-handler als JSON nodig had, regel je het hier met één paste. Geen json.lua of dkjson hoeven installeren om één constante te serialiseren.

Lua-tables zijn wat lastig, want ze mengen array-part (integer-keys vanaf 1) en hash-part (string- of gemengde keys) in dezelfde structuur. De converter detecteert welke vorm je hebt: een pure array-part-table wordt een JSON-array, een pure hash-part-table wordt een JSON-object, en een gemengde table valt terug op een JSON-object met de numerieke keys ge-stringificeerd. Dat komt overeen met wat de Lua 5.4-referentiemanual beschrijft en wat de gangbare JSON-libs doen.

Geneste tables gaan zo diep als je wilt. nil wordt null, true/false mappen recht door, getallen blijven getallen (integers blijven integers). Strings met enkele quotes, dubbele quotes of long brackets ([[...]]) worden allemaal netjes geparsed. Commentaar (-- en --[[ ... ]]) wordt eruit gegooid.

Hoe je het gebruikt

Drie stappen. Werkt voor kleine tables én voor configs die de hele file vullen.

1

Plak je Lua (of pak het voorbeeld)

Smijt je Lua-table in de linker editor. Een array-part-table, een hash-part-table, geneste tables of meerdere top-level local x = {...}-declaraties — allemaal prima.

Laat de Lua-syntax met rust. Keys zonder quotes (name = "..."), keys met brackets (["foo-bar"] = ...) en commentaar worden allemaal correct geparsed.

2

Druk op Converteren

Klik op de groene Converteren-knop. De tool loopt door de table, detecteert op elk niveau array- of hash-vorm en spuugt de bijbehorende JSON uit.

3

Kopieer de JSON

Kopieer de geïndenteerde JSON uit het rechterpaneel in een config-file, een API-call of een test-fixture. Klaar.

Wanneer dit echt van pas komt

Game-/engine-configs migreren

Veel engines (Love2D, Defold, World of Warcraft-addons) gebruiken Lua-tables voor config. Als je pipeline overgaat op JSON-tooling, is dit de conversie in één keer.

OpenResty-/Nginx-handler debuggen

Je hebt een response-body als Lua-table opgebouwd in een OpenResty-script — paste hem hier om te zien wat de client straks binnenkrijgt, nog vóór je redeployed.

Redis Lua-scripts

Een Redis EVAL-script geeft een complexe structuur terug; het Lua-table-literal plak je makkelijk uit de logs. Converteer naar JSON om te vergelijken met wat de app ziet.

Config porten naar een andere taal

Je stapt over van een Lua-gescripte tool naar een rewrite in Node of Go. Converteer de oude config-tables naar JSON als migratieformaat.

Veelgestelde vragen

Hoe bepaalt hij array of object?

Zelfde regel die json.lua hanteert: heeft de table alleen opeenvolgende integer-keys vanaf 1, dan is het een array. Anders is het een object. Gemengde tables (1, 2, "name") komen er uit als objects met ge-stringificeerde numerieke keys, want JSON-arrays kunnen geen benoemde keys hebben.

En nil in een table?

Een nil-waarde verwijdert die key in Lua — de converter volgt dezelfde regel en laat nil-keys in de output gewoon weg. Een losse nil (bijv. local x = nil) wordt JSON null.

Ondersteunt hij long-bracket-strings zoals <code>[[...]]</code>?

Ja. Long-bracket-strings (inclusief [==[...]==] met willekeurig veel =-tekens) worden geparsed en als JSON-strings met juiste escaping uitgegeven.

Mag ik meerdere tables tegelijk pasten?

Ja. Elke top-level local name = {...} of name = {...} wordt een key in de output-JSON. Anonieme trailing tables krijgen numerieke keys. Er wordt niks stilletjes weggegooid.

Wordt mijn code opgeslagen?

Nee — we sturen hem naar de backend voor de conversie en bewaren niks. Haal voor de zekerheid wel gevoelige dingen eruit vóór je paste.

Gaat het ook met LuaRocks-rockspec-files?

Ja. Rockspec-files zijn in de kern Lua-tables, dus die converteren schoon — handig om dependency-metadata naar een JSON-registry-formaat te migreren.

Andere tools die je misschien nodig hebt

Lua naar JSON combineert lekker met de rest van de toolbox: