DevToolPal
TR

JSON Lines'tan JSON'a Dönüştürücü

JSON Lines'ı (JSONL, NDJSON) JSON dizisine, JSON dizisini de JSON Lines'a dönüştürün; hatalar satır numarasıyla gösterilir.

Yerelde çalışır, asla yüklenmez

Seçenekler

Yön
Girinti

Girdi

0 karakter · 0 B

Çıktı

0 karakter · 0 B

Ne işe yarar

JSON Lines (JSONL veya NDJSON olarak da bilinir) her satırda bir JSON değeri saklar. Bir program dosyanın tamamını yüklemeden kayıtları tek tek okuyabildiği veya ekleyebildiği için günlükler, veri dışa aktarımları, akış API’leri, BigQuery ve Elasticsearch toplu yüklemeleri ve OpenAI ince ayar dosyaları gibi makine öğrenimi veri kümeleri için tercih edilen biçimdir.

Ancak birçok araç tek bir JSON dizisi bekler. Bu dönüştürücü JSON Lines’ı biçimlendirilmiş bir JSON dizisine, bir JSON dizisini de her satırda bir sıkıştırılmış kayıt olacak şekilde JSON Lines’a dönüştürür.

Nasıl kullanılır

  1. Yön seçin: JSON Lines → JSON veya JSON → JSON Lines.
  2. Verinizi yapıştırın, bir .jsonl, .ndjson veya .json dosyası yükleyin ya da Örnek’e tıklayın.
  3. JSON çıktısı için 2 veya 4 boşluk girinti ya da tek satır için Sıkıştırılmış seçin.
  4. Sonucu kopyalayın veya indirin ya da geri dönüştürmek için Girdi olarak kullan’ı kullanın.

Bir satır geçerli JSON değilse hata satır numarasını ve sütunu belirtir; böylece doğrudan bozuk kayda gidebilirsiniz. Binlerce kayıt arasında tek bir yarım kalmış girdi bulunan günlük dosyalarında çok işe yarar.

Örnek

Şu üç satırlık JSON Lines:

{"id": 1, "event": "signup"}
{"id": 2, "event": "login"}
{"id": 3, "event": "logout"}

şu JSON dizisine dönüşür:

[
  {
    "id": 1,
    "event": "signup"
  },
  {
    "id": 2,
    "event": "login"
  },
  {
    "id": 3,
    "event": "logout"
  }
]

Ters yönde dizinin her elemanı boşluksuz olarak ayrı bir satıra yazılır ve dosya bir satır sonuyla biter.

Hangisi ne zaman

Kayıtlar tek tek üretiliyor veya tüketiliyorsa JSON Lines kullanın: günlüklere ekleme, sonuçları akış hâlinde gönderme, büyük bir veri kümesini işçiler arasında bölme ya da grep, head ve wc -l gibi satır tabanlı araçlarla işleme. Bir program koleksiyonun tamamına bir kerede ihtiyaç duyuyorsa JSON dizisi kullanın: yapılandırma dosyası, test verisi veya bir REST uç noktasının yanıt gövdesi gibi.

SSS

› JSONL, NDJSON ve JSON Lines arasındaki fark nedir?

Aynı biçimin farklı adlarıdır: her satırda bir tam JSON değeri, satır sonlarıyla ayrılmış. JSON Lines (.jsonl) ile newline-delimited JSON (.ndjson) yalnızca ad ve dosya uzantısı bakımından farklıdır.

› Boş satırlara izin var mı?

Okurken boş satırlar ve sondaki satır sonu atlanır. Windows satır sonları (CRLF) ve UTF-8 BOM işareti de işlenir.

› Dosyam biçimlendirilmiş JSON ve bir nesne birkaç satıra yayılıyor. Neden hata veriyor?

JSON Lines'ta her değer tek bir satıra sığmalıdır. Girdiniz normal bir JSON dizisiyse yönü JSON → JSON Lines olarak değiştirin; biçimlendirilmiş nesnelerden oluşan bir diziyse önce onları bir diziye koyun.

› Dönüştürme sayıları veya anahtar sırasını değiştirir mi?

Hayır. Değerler ve anahtar sırası korunur; yalnızca boşluklar değişir. JavaScript'in güvenli tamsayı aralığını (yaklaşık 9 katrilyon) aşan çok büyük tamsayılar, tarayıcıdaki her JSON aracında olduğu gibi hassasiyet kaybedebilir.