JSONL Biçimlendirici

Buraya JSONL veya NDJSON yapıştırın. Boş satırlar otomatik olarak yok sayılır ve her veri satırı eksiksiz bir JSON nesnesi olmalıdır.

Biçimlendirilmiş sonuç burada görünecek.

Boş olmayan her satır eksiksiz bir JSON nesnesi olmalıdır.

Toplam satır: 1Boş olmayan satırlar: 0Geçerli satırlar: 0Geçersiz satırlar: 0
Biçimlendirmeyi hemen başlatmak için JSONL yapıştırın.

Loglar, oturum arşivleri ve akış dışa aktarımları için hafif bir JSONL biçimlendirme sayfası. Sola satırla ayrılmış JSON nesnelerini yapıştırın, sağda her kaydın biçimlenmiş sonucunu ve hangi satırın bozuk olduğunu anında görün.

İlgili Öneriler

JSONL biçimlendirme nedir?

JSONL (JSON Lines), JSON kayıtlarını satır satır düzenleyen bir metin biçimidir. Temel özelliği «JSON'a benzemesi» değil, «her kaydın kendi satırında yer alması»dır. Gerçek mühendislikte bu neredeyse her zaman «boş olmayan her satır eksiksiz bir JSON nesnesidir» biçiminde görünür; nesneler `[{...},{...}]` gibi büyük bir diziye tekrar sarılmak yerine satır sonuyla ayrılır.

Bu düzenleme loglar, olay akışları, oturum arşivleri, toplu dışa aktarım ve akış işleme için özellikle uygundur: programın tüm dosyayı belleğe okumasına gerek yoktur, satır satır okuyarak kayıtları tek tek tüketebilir. Bir satır bozuksa numarasına doğrudan gidilebilir; çok uzun bir JSON dizisi içinde körlemesine parantez sayıp virgül aramaya gerek kalmaz.

JSONL biçimlendirme sıradan JSON biçimlendirmeden farklıdır. Sıradan biçimlendirici girdinin eksiksiz bir JSON belgesi olduğunu varsayar; JSONL biçimlendirici satır satır ayrıştırmalı, doğrulamalı ve hata bildirmeli, aynı zamanda satır sonuyla ayrılmış kayıt semantiğini korumalıdır. Loglar ve dışa aktarım dosyaları için bu fark çok kritiktir.

Bu sayfa tam da bu gerçek semantik etrafında tasarlandı: sola satırla ayrılmış nesne kayıtlarını girersiniz, sağda kayıt kayıt biçimlenmiş sonuç gösterilir; bozuk, yarım kalmış ve nesne olmayan satırlar doğrudan işaretlenir. Böylece bir `.jsonl` dosyasını incelerken «hangi kaydın sorunlu olduğunu» görürsünüz, genel bir `SyntaxError` ile yetinmek zorunda kalmazsınız.

Kullanım senaryoları

  • Uygulama logundan dışa aktarılan JSONL'i kayıt kayıt düzenleyip alanları inceleyin; tek satıra sıkışmış uzun nesne dizisine bakmak yerine
  • Her satırının bir olay nesnesi olduğu oturum arşiv dosyalarını inceleyin ve her kaydın eksiksiz ve okunabilir olduğunu doğrulayın
  • Veri hattı, izleme platformu veya Elasticsearch toplu dışa aktarımı başarısız olduğunda hangi satırdaki JSON nesnesinin yanlış yazıldığını hızla bulun
  • Akış çıktısı arayüzünde hata ayıklarken sunucunun gerçekten sürekli «satır başına bir nesne» ürettiğini, yarım nesneyi erkenden basmadığını doğrulayın
  • Terminalden, izleme panelinden veya bulut log platformundan kopyalanan NDJSON'i yapıştırın; önce yapıyı düzene koyun sonra incelemeyi sürdürün
  • AI tarafından üretilen satır-başına-nesne çıktıda herhangi bir satıra yanlışlıkla dizi, string veya eksik JSON sızıp sızmadığını kontrol edin
  • ClickHouse, BigQuery, Kafka Connect gibi satır düzeyinde kayda dayanan akışlara içe aktarmadan önce JSONL içeriğini elle gözden geçirin
  • Denetim loglarını, risk olaylarını veya izleme olay akışını incelerken kayıt kayıt nesne yapısının istikrarlı ve tutarlı olup olmadığına bakın
  • JSONL dosyası yarıda kesildiğinde veya indirme eksik kaldığında son nesnelerden hangisinin kapanmadığını anında görün
  • İç araçtan dışa aktarılan satırla ayrılmış JSON'i önce biçimlendirin, sonra kod incelemesi veya veri eşleştirme için iş arkadaşınıza gönderin
  • JSONL ayrıştıran bir betik yazmadan önce alan düzeyini, iç içe nesneleri ve dizi konumlarını elle teyit edin; betik hata ayıklama süresini kısaltın
  • Boş ve bozuk satırların karıştığı eski dışa aktarım dosyalarında önce yapısal sorunları ayıklayın, sonra CSV'ye dönüştürmeye mi yoksa veritabanına içe aktarmaya mı karar verin

Nasıl Kullanılır

  1. JSONL veya NDJSON içeriğini giriş alanına yapıştırın; boş olmayan her satırın bağımsız bir JSON nesnesi olduğundan emin olun
  2. Sağda anında satır satır biçimlendirme yapılır ve bozuk satırlarda satır numarası, hata mesajı ve özgün kayıt gösterilir
  3. İpuçlarına göre ilgili satırları geçersiz satır sayısı sıfıra inene kadar düzeltin
  4. Tümünün geçerli olduğu doğrulandıktan sonra tam biçimlenmiş sonucu kopyalayın ya da veriyi sonraki betiğe, içe aktarıcıya ve analiz sürecine aktarın

Özellikler

  • JSONL / NDJSON'i satır satır ayrıştırır; veriyi önceden elle `[{...},{...}]` gibi tam bir JSON dizisine sarmaya gerek yoktur
  • Gerçek dosya semantiği olan «boş olmayan her satır bir JSON nesnesidir» ilkesine göre doğrular; loglar, olay akışları ve oturum arşivleri gibi yaygın veri biçimlerine uygundur
  • İki sütunlu düzen: solda `textarea` girişi, sağda anında biçimlenmiş çıktı — düzeltirken incelemek için ideal
  • Bozuk satırlar doğrudan satır numarasını, ayrıştırma hatasını ve özgün içeriği gösterir; yarım kayıtlar, eksik parantezler ve birleştirme hataları hızla düzeltilir
  • Kopyalama yalnızca tüm boş olmayan satırlar geçerli olduğunda açılır, böylece kısmen doğru kısmen bozuk veri sonraki adımlara sızmaz
  • Toplam satır, boş olmayan satır, geçerli ve geçersiz satır sayıları için yerleşik istatistik sunar; büyük dosyada kaç kaydın bozuk olduğu hızla anlaşılır
  • Örnek veri içerir, ilk açılışta JSONL biçimlendirme etkisi hemen denenebilir
  • Tüm işlem tarayıcıda yerel olarak yürür; loglar, oturum olayları ve API dışa aktarım içeriği hiçbir sunucuya yüklenmez

JSONL biçimlendirici vs JSON biçimlendirici vs JSON onarma

Bu araçlar sıklıkla art arda kullanılır ama farklı sorunları çözerler. Doğru giriş noktasını seçmek ciddi zaman kazandırır.

AraçEn uygun girdiTemel yetenekKullanım senaryosu
JSONL BiçimlendiriciSatır başına bir JSON nesnesiKayıt kayıt doğrulama ve düzenlemeLoglar, NDJSON, oturum arşivleri, akış dışa aktarımı
JSON BiçimlendiriciEksiksiz bir JSON nesnesi veya dizisiTüm JSON belgesini düzenlemeAPI yanıtları, yapılandırma dosyaları, tek seferlik payload
JSON OnarmaSözdizimi hatalı veya standart dışı JSON metniÖnce sözdizimini onar, sonra diğer araca verSonda virgül, yorumlar, tırnak sorunları, yarım JSON

Best Practices

Hata ayıklarken özgün JSONL biçimini koruyun, sadece anlamak için elle diziye sarmayın

Aşağı akış sistemi JSONL kabul ediyorsa incelemeyi özgün «satır başına bir kayıt» biçiminde sürdürmeye çalışın. Diziye sarmak sıradan bir biçimlendiriciye verebilse de özgün satır numarası semantiğini kaybettirir ve hatayı gerçek bozuk satır konumuna eşlemeyi zorlaştırır.

Büyük dosyada önce son birkaç satıra bakın

Pek çok JSONL dosyasının ortasında yapı bozulmaz; akışın kesilmesi, indirmenin başarısız olması veya yazmanın tamamlanmaması yüzünden son satırlar yarım kalır. Son birkaç kayda önce bakmak genellikle tüm dosyayı baştan taramaktan hızlıdır.

Girdide tek tırnak, yorum veya JSON5 tarzı varsa önce JSON onarmadan geçirmek zaman kazandırır

JSONL sayfası satır başına nesne doğrulamaya odaklanır; kaynak veri baştan standart JSON değilse uzun dosyada her satırı elle düzeltmektense önce onarıp sonra biçimlendirmek genellikle daha verimlidir.

Yeniden içe aktaracaksanız «satır başına bir nesne» taşıma semantiğini mutlaka koruyun

Sağdaki çok satırlı düzgün blok insan okuması için daha elverişlidir ama veriyi log sistemine, mesaj kuyruğuna veya içe aktarıcıya geri yazacaksanız önizleme görünümünü nihai taşıma biçimi yapmak yerine kaynağın satır başına bir nesne yapısını koruyun.

Tüm dosyayı gözle okumak yerine satır numarasını ana ipucu yapın

Gerçek incelemede en hızlı yol genellikle önce bozuk satır numarasını kilitleyip o kaydı çevresindeki geçerli kayıtlarla karşılaştırmaktır. Böylece parantez veya tırnağın mı eksik olduğu, alanın mı yarıda kaldığı ya da bir nesneye yanlış tipin mi sızdığı daha çabuk görünür.

Sık Sorulan Sorular

JSON ile JSONL arasındaki fark nedir?

Sıradan JSON genellikle tek bir bütün nesne veya dizidir ve eksiksiz bir belge olarak bir bütün halinde ayrıştırılmalıdır; JSONL (JSON Lines, sıklıkla NDJSON de denir) ise satır başına bağımsız bir kayıt tutar ve mühendislik pratiğinde en yaygın biçimi «satır başına bir JSON nesnesi»dir. Loglar, olay akışları, akış işleme ve toplu içe aktarma için daha uygundur çünkü satır satır okunabilir, yazılabilir ve hatanın yeri satır düzeyinde bulunabilir.

Bu sayfa neden «satır başına bir JSON nesnesi» ilkesini vurguluyor?

Çünkü gerçek dünyadaki JSONL dosyalarının büyük çoğunluğu, özellikle loglar, oturum arşivleri, olay akışları ve dışa aktarım dosyaları bu şekilde düzenlenir. Sizin arşiv örneğiniz de tipik biçimdedir: her satır satır sonuyla ayrılmış bir nesnedir. Sayfa bu semantikle doğrular; bu da herhangi bir JSON değerini gevşek biçimde kabul etmekten çok gerçek hata ayıklama senaryosuna uygundur.

JSONL, `[{...},{...}]` gibi bir JSON dizisinden nasıl farklıdır?

JSON dizisi eksiksiz bir JSON belgesidir ve ayrıştırmadan önce tamamının okunması gerekir; JSONL her nesneyi bağımsız satır kaydına böler, akışla okunabilir ve bir kayıt başarısız olduğunda ilgili satıra doğrudan ulaşmak kolaydır. Büyük log dosyaları ve olay akışları için JSONL tek büyük diziden daha uygundur.

Boş satırlar neden yok sayılıyor?

Boş satırlar genellikle kopyala-yapıştır, log rotasyonu veya elle düzenlemeden kaynaklanır ve gerçek bir veri kaydını temsil etmez. Bunları yok saymak gürültüyü azaltırken içerik taşıyan her satır sıkı biçimde denetlenmeye devam eder.

Bir satır dizi, string veya `null` olursa ne olur?

Bu sayfa onu geçersiz satır olarak değerlendirir çünkü hedef biçim «boş olmayan her satır bir JSON nesnesidir». Verinizin gerçekten satır başına dizi veya ham değer saklaması gerekiyorsa, bu sayfanın optimize edildiği tipik JSONL log senaryosuna girmez.

Bir bozuk satır varken neden tüm sonuç doğrudan kopyalanamıyor?

Bu bilinçli olarak korunan tutucu bir davranıştır. Kopyalamaya yalnızca tüm boş olmayan satırlar geçerli olduğunda izin verilir; böylece kısmen başarılı kısmen bozuk sonuç bir sonraki içe aktarıcıya, betiğe veya iş arkadaşına sızmaz ve ikinci kez inceleme maliyeti doğmaz.

Yarım kalmış log dosyalarını bulmama yardımcı olur mu?

Olur. Pek çok JSONL sorunu son birkaç satırda ortaya çıkar; örneğin bir nesnede `}` eksik olması, string'de kapanış tırnağının eksik olması veya ağ akışının ortada kesilmesi. Sayfa ilgili bozuk satırı doğrudan ortaya çıkarır; eksik indirmeler ve kesintiye uğramış akış çıktıları için özellikle uygundur.

JSONL ve NDJSON aynı şey mi?

Mühendislik bağlamlarının büyük çoğunluğunda eş anlamlı sayılabilirler. İkisi de satır sonuyla ayrılmış JSON kayıtlarını ifade eder; yalnızca adlandırma alışkanlığı farklıdır.

JSONL biçimlendirirken verim yükleniyor mu?

Hayır. Tüm ayrıştırma, doğrulama ve biçimlendirme yalnızca tarayıcıda yerel olarak çalışır; loglar, API yanıtları, oturum arşivleri ve veri dışa aktarım içeriği hiçbir sunucuya gönderilmez.

JSONL biçimlendirici yerine sıradan JSON biçimlendiriciyi ne zaman kullanmalıyım?

Girdinin kendisi eksiksiz bir JSON nesnesi veya dizisiyse, örneğin bir API yanıt gövdesi, bir yapılandırma dosyası veya `[{...},{...}]` gibi bir veri paketi ise sıradan JSON biçimlendirme sayfasını kullanın; bu JSONL sayfası yalnızca girdi satır sonuyla ayrılmış nesne kayıtları olduğunda daha uygundur.

Sözlük

JSONL
JSON kayıtlarının satır sonuyla ayrıldığı bir metin biçimi. En yaygın mühendislik yazımı: boş olmayan her satır eksiksiz bir JSON nesnesidir.
JSON Lines
JSONL'in açılımı ve diğer yaygın adı; genellikle JSONL ile eş anlamlı kabul edilir.
NDJSON
Newline Delimited JSON, kelimesi kelimesine «satır sonuyla ayrılmış JSON». Çoğu log ve veri hattı senaryosunda pratikte JSONL ile eşdeğerdir.
Satır başına kayıt
Her satırın eksiksiz bir kaydı temsil ettiği veri düzeni; akışla yazma/okuma ve satır düzeyinde hata konumlandırma için uygundur.
Pretty Print / düzgün biçimlendirme
Sıkıştırılmış tek satırlık JSON'i girintileme ve satır sonlarıyla okunabilir yapıya yeniden dizmek; alan düzeylerinin elle incelenmesini kolaylaştırır.
Bozuk satır
Geçerli JSON olmayan ya da ayrışsa bile beklenen yapıya uymayan (örneğin nesne olmayan) satır; bu nedenle geçerli bir JSONL kaydı olamaz.
Yarım kalmış akış
Aktarım, flush veya kayıt sırasında ortada kesilen, böylece son kaydı eksiksiz kapanmayan log veya dışa aktarım.
JSON dizisi
Standart JSON'da `[` ve `]` ile sarılı bütün bir koleksiyon, örneğin `[{...},{...}]`. JSONL'in tersine tek bir belge olarak ayrıştırılması gerekir.

Authoritative References