NDJSON'dan JSON Dizisine Dönüştürücü

NDJSON satırlarınızı yapıştırın, tek bir JSON dizisinde birleştirin.

Sonuç

[ { "id": 1, "name": "Ada" }, { "id": 2, "name": "Linus" }, { "id": 3, "name": "Grace" } ]
3
Evet

Nasıl hesaplanır?

Girdi satırlara bölünür (Windows, Unix ve eski Mac satır sonlarının hepsi çalışır) ve boş satırlar yok sayılır. Geriye kalan her satır tek başına bir JSON değeri olarak ayrıştırılır ve ayrışan değerler, sırayla, tek bir diziye toplanır; dizi dört boşluk girintiyle ve Unicode karakterler kaçışsız olarak yazdırılır. Araç dönüştürülen satır sayısını ve bir geçerli bayrağını bildirir. Geçerli JSON olmayan bir satır onarılmaz, atlanır ve bayrağı Hayır yapar; iyi satırlar yine de dönüştürülür. Düz null yazan satır null olarak korunur. Satırlar nesne, dizi, sayı ya da metin içerebilir; ancak tek bir kayıt birden çok satıra yayılamaz.

Örnek hesaplama

Üç satır yapıştırın: {"id":1,"name":"Ada"}, {"id":2,"name":"Linus"} ve {"id":3,"name":"Grace"}. Her biri geçerli bir JSON nesnesidir; bu yüzden araç hepsini aynı sırayla tek bir dizide toplar: açılış köşeli parantezi, virgüllerle ayrılmış üç nesne ve kapanış parantezi. Satır sayısı 3, geçerli bayrağı Evet görünür. İkinci satır bozuk olsaydı, örneğin {"id":2,, dizide yalnızca iki nesne olur, sayı 2, bayrak Hayır çıkardı.

Bu örneği dene →

Sık yapılan hatalar

  • Girintili ya da çok satırlı bir nesne yapıştırmak. Her kayıt tamamen tek satırda olmalıdır; aksi halde tek tek satırlar geçerli JSON olmaz ve atılır.
  • Geçerlilik bayrağını görmezden gelmek. Bozuk satır dizide sessizce yer almaz; satır sayısının beklediğiniz kayıt sayısıyla eşleştiğini kontrol edin.
  • Zaten tamamlanmış bir JSON dizisini yapıştırmak. Tek satır sayılır ve ikinci bir dizinin içine sarılır; sonuç [[...]] olur.
  • Satırlar arasına virgül koymak. NDJSON satırları virgülle ayrılmaz; virgülle biten satır geçersizdir ve atlanır.
  • Tek tırnak ya da tırnaksız anahtar kullanmak. Bazı araçlar bunu kabul eder, ancak geçerli JSON değildir ve burada hata verir.

Bu hesaplama hakkında

NDJSON (Satır Ayrılmış JSON, JSON Lines veya .jsonl olarak da bilinir), her şeyi tek bir üst düzey dizi içine sarmak yerine her satıra tam ve bağımsız bir JSON nesnesi yazar. Bu biçim akış halindeki ve yalnızca eklemeli verilerde popülerdir; çünkü bir üretici tüm dosyayı yeniden yazmaya gerek kalmadan tek seferde bir kayıt yazabilir, bir tüketici de tüm veri kümesini belleğe yüklemeden satır satır işleyebilir.

Elasticsearch'in bulk API'si, Fluentd gibi log taşıyıcıları, Spark ve BigQuery veri yükleyicileri ile birçok makine öğrenmesi veri kümesi biçimi NDJSON üretir veya bekler. Bu dönüştürücü her satırı bağımsız bir JSON değeri olarak ayrıştırır ve bunları tek, biçimli bir JSON dizisinde birleştirir; bu da NDJSON'un doğrudan desteklenmediği durumlarda çoğu genel amaçlı JSON görüntüleyicinin, `jq` boru hatlarının ve REST API'lerin beklediği biçimdir.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Hızlı bir bütünlük kontrolü: dönüştürülen satır sayısı, dosyanızdaki boş olmayan satır sayısına eşit olmalı. Sayı düşükse ve geçerlilik göstergesi olumsuzsa bazı satırlar atlanmıştır; tipik nedenler iki satıra taşan bir kayıt ya da sondaki fazladan virgüldür. Araç hiçbir şeyi onarmadığı için bunları çıktıda değil kaynakta düzeltin. NDJSON verisi sizde nereden geliyor: veritabanı dışa aktarımı, API akışı ya da günlük dosyası mı?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar