JSONL Biçimlendirici
Biçimlendirilmiş sonuç burada görünecek.
Boş olmayan her satır eksiksiz bir JSON nesnesi olmalıdır.
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
- 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
- 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
- İpuçlarına göre ilgili satırları geçersiz satır sayısı sıfıra inene kadar düzeltin
- 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 girdi | Temel yetenek | Kullanım senaryosu |
|---|---|---|---|
| JSONL Biçimlendirici | Satır başına bir JSON nesnesi | Kayıt kayıt doğrulama ve düzenleme | Loglar, NDJSON, oturum arşivleri, akış dışa aktarımı |
| JSON Biçimlendirici | Eksiksiz bir JSON nesnesi veya dizisi | Tüm JSON belgesini düzenleme | API yanıtları, yapılandırma dosyaları, tek seferlik payload |
| JSON Onarma | Sözdizimi hatalı veya standart dışı JSON metni | Önce sözdizimini onar, sonra diğer araca ver | Sonda 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
- jsonlines.orgJSON Lines resmi açıklaması
- IETFJSON resmi belirtimi RFC 8259
- JSON Compress
- CSV'den JSON'a
- JSON'den CSV'ye
- JSON Diff
- JSON Escape / Unescape
- JSON Düzleştirme
- JSON Biçimlendirici
- JSONL Biçimlendirici
- JSON Oluşturucu
- JSONPath Sorgu
- JSON Birleştir
- JSON Onarımı
- JSON Schema Doğrulayıcı
- JSON Sıralama
- JSON Stringify
- JSON'dan HTML'ye
- JSON'dan Java'ya
- JSON'den Markdown'a
- JSON to SQL
- JSON'dan TOML'e
- JSON'dan TypeScript'e
- XML'den JSON'a
- JSON'u XML'e donustur
- YAML'den JSON'a
- JSON → YAML Dönüştürücü
- JSON'dan Go'ya
- JSON'u Rust'a
- JSON to Swift
- JSON'dan C#'ye
- JSON'dan C++'ya
- JSON'dan PHP'ye
- JSON'u Python'a