JSON'dan Lua'ya FiveM için Tablo Dönüştürücü

JSON ile Lua tablo sözdizimi arasında çift yönlü dönüştürme. İç içe geçmiş nesneleri, dizileri, boolean değerleri ve null/nil durumlarını destekler.

Bu aracın amacı

Veriler bir API'den, veri tabanı dışa aktarımından veya başka bir script'ten JSON olarak gelir ve FiveM yapılandırması bir Lua tablosu ister. İkisi birbirine o kadar benzer görünür ki insanlar bunları elle dönüştürür; ardından bir null, tire içeren bir anahtar veya iç içe geçmiş bir dizi fark edilmeden dosyayı bozar. Bu dönüştürücü her iki yönü de işler ve sınır durumları doğru şekilde çözer.

Nasıl kullanılır

  1. Adım 1:

    JSON verinizi sol alana yapıştırın veya bir Lua tablosunu tekrar JSON formatına dönüştürmek için yönü değiştirin.

  2. Adım 2:

    Dönüştürün. İç içe nesneler, diziler, boole değerleri ve null çevrilir, null nil olur.

  3. Adım 3:

    Düz tanımlayıcı olmayan anahtarları kontrol edin. Lua gerektirdiği için köşeli parantez gösterimiyle çıkarlar.

  4. Adım 4:

    Sonucu kopyalayın veya indirin ve config veya resource dosyanıza ekleyin.

Sıkça sorulan sorular

null nasıl dönüştürülür?

null değeri nil haline gelir ve bunun bir sonucu vardır: bir Lua tablosundaki nil değeri boş bir değer saklamak yerine anahtarı kaldırır. Bu nedenle ortasında null bulunan bir JSON dizisi daha kısa olur ve numaralandırmasında bir boşluk oluşur.

Neden bazı tuşlar köşeli parantez içinde görünüyor?

Lua, geçerli tanımlayıcılar için yalnızca yalın key = value biçimine izin verir. Tire, boşluk içeren veya başında rakam bulunan anahtarlar ["my-key"] şeklinde yazılmalıdır, aksi takdirde dosya ayrıştırılamaz.

Diziler sıralarını korur mu?

Evet, bir dizi numaralandırılmış bir tabloya dönüşür ve sıra korunur. Lua'nın 0'dan değil 1'den saymaya başladığını unutmayın, bu nedenle JSON dizinizin ilk elemanı Lua'da indeks 1'dir.

Tüm config'i tekrar JSON'a dönüştürebilir miyim?

Ters yön, temiz veri tablolarını işler. Kabul edemeyeceği şey, tablo içindeki fonksiyon tanımları veya birleştirmeler gibi Lua kodlarıdır; çünkü JSON'ın bunları temsil etme yöntemi yoktur.