JSON na Lua Konwerter tabel dla FiveM

Dwukierunkowa konwersja między składnią JSON a tabelami Lua. Obsługuje zagnieżdżone obiekty, tablice, wartości logiczne oraz null/nil.

Do czego służy to narzędzie

Dane przychodzą jako JSON z API, z eksportu bazy danych lub z innego skryptu, a konfiguracja FiveM wymaga tabeli Lua. Obie formy wyglądają na tyle podobnie, że ludzie konwertują je ręcznie, a wtedy null, klucz z myślnikiem lub zagnieżdżona tablica po cichu psują plik. Ten konwerter obsługuje oba kierunki i poprawnie radzi sobie ze skrajnymi przypadkami.

Jak tego używać

  1. Krok 1:

    Wklej JSON w lewym polu lub zmień kierunek, aby przekonwertować tabelę Lua z powrotem na JSON.

  2. Krok 2:

    Konwertuj. Zagnieżdżone obiekty, tablice, wartości logiczne i null są przekształcane, null staje się nil.

  3. Krok 3:

    Sprawdź klucze, które nie są zwykłymi identyfikatorami. Zostaną wygenerowane w notacji nawiasowej, ponieważ wymaga tego Lua.

  4. Krok 4:

    Skopiuj lub pobierz wynik i wklej go do swojego configu lub resource.

Często zadawane pytania

Jak konwertowany jest null?

null staje się nil, co niesie za sobą konsekwencję: wartość nil w tabeli Lua usuwa klucz, zamiast przechowywać pustą wartość. Tablica JSON z wartością null w środku staje się przez to krótsza i powstaje luka w jej numeracji.

Dlaczego niektóre klawisze wyświetlają się w nawiasach kwadratowych?

Lua dopuszcza prostą formę key = value tylko dla prawidłowych identyfikatorów. Klucze zawierające myślniki, spacje lub zaczynające się od cyfry muszą być zapisane jako ["my-key"], w przeciwnym razie plik nie zostanie sparsowany.

Czy tablice zachowują swoją kolejność?

Tak, tablica staje się ponumerowaną tabelą, a kolejność zostaje zachowana. Pamiętaj, że Lua liczy od 1, a nie od 0, więc pierwszy element twojej tablicy JSON ma w Lua indeks 1.

Czy mogę przekonwertować całą konfigurację z powrotem do JSON?

W odwrotnym kierunku obsługiwane są czyste tabele danych. To, czego nie można przekazać, to kod Lua wewnątrz tabeli, taki jak definicje funkcji czy konkatenacje, ponieważ JSON nie pozwala na ich reprezentację.