JSON'dan JSONL'e (JSON Lines)
JSON dizisinin her kaydını tek satıra yazın ya da JSONL satırlarını tek bir JSON dizisinde toplayın
Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.
Bu araç işinizi gördü mü?
Teşekkürler, geri bildiriminiz alındı.
Nasıl çalışır?
JSONL (JSON Lines), her satırında tek bir tam JSON kaydı bulunan metin biçimidir; yapay zekâ ince ayar veri setleri, BigQuery ve Elasticsearch toplu yükleme ile günlük (log) dosyaları bu biçimi ister. Elinizdeki veri [ ... ] içinde bir JSON dizisiyse onu sol panele yapıştırın; Yön "JSON dizi → JSONL" iken her kayıt tek satıra yazılır. Örnekteki üç soru-cevap kaydı üç satırlık bir JSONL olur ve dosya, JSONL geleneğine uygun olarak satır sonu ile biter. Kayıtlar yeniden üretilmez, kaynak metinden kesilir ve yalnız gereksiz boşluklar atılır; bu yüzden 9007199254740993 gibi JavaScript'in yuvarlayacağı büyük kimlikler ve 1.0 gibi yazımlar olduğu gibi kalır. Ters yönde, JSONL satırlarını yapıştırıp Yön'ü "JSONL → JSON dizi" yaparsanız her satır ayrı okunur ve hepsi tek bir JSON dizisinde toplanır; boş satırlar atlanır, bozuk satır ise numarasıyla bildirilir (ör. "3. satır geçerli bir JSON değil").
Bu araç json to jsonl, jsonl to json, json lines converter aramalarıyla da biliniyor.
JSONL (JSON Lines) nedir?
JSONL, her satırı kendi başına geçerli bir JSON değeri olan düz metin biçimidir; satırlar \n ile ayrılır ve dosya UTF-8 kodlanır. Bütün dosya tek bir JSON olmadığı için bir kayıt okunmadan öbürüne geçilebilir, dosyanın sonuna yeni kayıt eklemek için baştan yazmak gerekmez. Bu özellik onu günlük dosyaları, veri akışları ve yapay zekâ eğitim setleri için standart hâline getirmiştir.
JSON dizisi nedir?
JSON dizisi, köşeli parantez içinde virgülle ayrılmış değerler listesidir: [{"id": 1}, {"id": 2}]. Bir API'nin çoğu zaman döndürdüğü, tabloya ya da programa tek seferde verilen biçim budur. Geçerli olması için kapanış parantezine kadar okunması gerekir; bu yüzden çok büyük dizilerde bütün dosya belleğe alınır. JSONL bu sınırı kayıtları satırlara bölerek aşar.
JSON ile JSONL arasındaki fark nedir?
JSON tek bir değerdir: bütün kayıtlar bir dizinin içinde durur ve dosya ancak son parantez okununca geçerli olur. JSONL ise kayıtları alt alta dizilmiş ayrı JSON değerleri olarak tutar; her satır kendi başına okunur, dosyanın sonuna ekleme yapmak ve milyonlarca satırı parça parça işlemek kolaydır. JSON insan okuması ve API yanıtları için, JSONL toplu yükleme, günlük ve model eğitim verisi için uygundur. Biri ötekine kayıpsız çevrilebilir.
Tuzak: kayıt birden çok satıra bölünmemeli
JSONL'de satır sonu, kayıtlar arasındaki ayırıcıdır. Bu yüzden bir kaydın içinde gerçek satır sonu olamaz: metin alanındaki alt satır \n kaçış dizisiyle yazılmalıdır. Güzel biçimlendirilmiş (girintili) bir JSON'u JSONL diye kaydetmek en sık hatadır; okuyucu ilk satırda yalnız { görür ve durur. Bu araç JSON → JSONL yönünde kayıt içindeki boşlukları ve satır sonlarını atar, dize içindekilere dokunmaz; ters yönde bölünmüş bir kaydı satır numarasıyla gösterir.
JavaScript'in JSON.parse ve JSON.stringify ikilisi 2^53'ü aşan tam sayıları yuvarlar (9007199254740993 → 9007199254740992) ve 1.0'ı 1 yazar. Veri tabanı kimliklerinde bu sessiz bir veri kaybıdır. Araç kayıtları kaynak metinden kestiği için sayılar, anahtar sırası ve Unicode kaçışları dönüşümde değişmez.
Hangi yönü ne zaman kullanmalı
JSON dizi → JSONL: OpenAI ya da benzeri bir modelin ince ayar dosyasını hazırlarken, BigQuery'ye NEWLINE_DELIMITED_JSON yüklerken, Elasticsearch _bulk isteği ya da satır satır işlenecek bir günlük dosyası üretirken. JSONL, dosyanın tamamını belleğe almadan satır satır okunabildiği için büyük veride tercih edilir.
JSONL → JSON dizi: bir API'nin ya da günlük dosyasının çıktısını tek bir JSON olarak açmak, bir tabloya ya da JSON'dan CSV'ye çeviren bir araca vermek istediğinizde. Kök bir nesne ise (ör. {"kayitlar": [...]}) araç tek satırlık JSONL üretir; kayıtları ayırmak için önce içteki diziyi yapıştırın.
Sık sorulanlar
JSON dosyası JSONL'e nasıl çevrilir?
JSON dizisini bu sayfanın sol paneline yapıştırın ve Yön'ü "JSON dizi → JSONL" bırakın. Dizideki her kayıt sağ panelde tek satır olur. Sonucu .jsonl uzantısıyla indirip model eğitimi, BigQuery ya da Elasticsearch yüklemesinde kullanabilirsiniz.
JSONL ile NDJSON aynı şey mi?
Pratikte evet. İkisi de her satırda bir JSON değeri ve satırlar arasında \n ayırıcı ister; JSON Lines adı jsonlines.org'dan, NDJSON (newline-delimited JSON) adı ayrı bir belgeden gelir. Dosya uzantısı .jsonl ya da .ndjson olabilir; bu aracın çıktısı ikisine de uyar.
"3. satır geçerli bir JSON değil" hatası ne demek?
JSONL'de her satır tek başına tam bir JSON olmalıdır. Hata genellikle bir kaydın birden çok satıra bölündüğünü (girintili yazılmış JSON), satır sonunda fazladan virgül kaldığını ya da tırnağın kapanmadığını gösterir. Belirtilen satırı ve sütunu kontrol edin.
Verilerim bir sunucuya gönderiliyor mu?
Hayır. Dönüşüm tamamen tarayıcınızda yapılır; müşteri kayıtları ya da eğitim verisi bu sayfadan çıkmaz. Sayfa yüklendikten sonra internet bağlantısı olmadan da çalışır.