Format Atlas

Bandingkan

JSON Lines atau JSON

JSON Lines (JSON dibatasi newline) adalah konvensi teks UTF-8 yang menempatkan satu nilai JSON valid dan mandiri pada setiap baris. Teks JSON biasa mewakili satu nilai secara keseluruhan, sehingga JSON Lines cocok untuk pemrosesan berurutan dan penambahan banyak rekaman.

Format mana yang sebaiknya dipilih?

Pertimbangkan JSON Lines untuk log atau peristiwa yang diproses dan ditambahkan satu rekaman setiap kali. Gunakan JSON biasa untuk satu dokumen konfigurasi atau objek/array bertingkat yang utuh.

Cocok untuk JSON Lines

Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming

  • Membaca dan menulis rekaman secara bertahap
  • Menambahkan atau menggabungkan data teks dengan alat umum

Cocok untuk JSON

API web, file konfigurasi, dan pertukaran data

  • Mengirim data terstruktur

Informasi dasar

ItemJSON LinesJSON
Ekstensi.jsonl, .ndjson.json
Tipe MIMEapplication/jsonlapplication/json
Penggunaan umumLog dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streamingAPI web, file konfigurasi, dan pertukaran data
Cara membukaBuka file dengan editor teks atau alat yang mendukung JSON Lines. Memvalidasi setiap baris sebagai JSON memudahkan pencarian rekaman yang memiliki kesalahan sintaks.Buka dalam editor teks, IDE, atau penampil yang mendukung JSON.
Ekspor atau konversiUntuk membuat array JSON, kumpulkan baris sebagai elemen array. Untuk mengubah array menjadi JSON Lines, tulis setiap nilai pada baris tersendiri. Perhatikan penggunaan memori untuk file besar.Aplikasi atau alat konversi dapat mengubahnya ke format seperti CSV.

Pilih menurut penggunaan

Membaca dan menulis rekaman secara bertahap

Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming

JSON Lines

Menambahkan atau menggabungkan data teks dengan alat umum

Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming

JSON Lines

Mengirim data terstruktur

API web, file konfigurasi, dan pertukaran data

JSON

Poin utama 1

Setiap baris JSON Lines harus dapat diurai sebagai satu nilai JSON. Objek umum dipakai, tetapi string, angka, null, dan nilai JSON lain juga diizinkan; baris kosong bukan rekaman. Teks JSON biasa mewakili satu nilai secara keseluruhan.

Perbedaan lebih lanjut

Poin utama 2

JSON Lines memakai UTF-8 dan LF di antara nilai; CRLF juga didukung sebagai whitespace JSON. Newline terakhir disarankan tetapi tidak wajib, jadi tentukan cara menangani penggabungan dan batas stream.

Perbedaan lebih lanjut

Perbedaan lebih lanjut

Gunakan JSON Lines untuk pipeline per rekaman dan log yang mudah ditambahkan bila penerima mendukungnya. Gunakan JSON untuk satu dokumen terstruktur. Urai JSON Lines per baris; jangan menganggap seluruh file sebagai satu dokumen JSON standar.

  • Berkas JSON Lines memuat beberapa nilai JSON tingkat atas yang dipisahkan newline, sehingga parser dokumen JSON biasa dapat menolak seluruh berkas.
  • Tentukan urutan, penanganan baris kosong atau rusak, pemulihan setelah rekaman gagal, dan perlu tidaknya terminator pada baris terakhir.
  • JSON Lines menggunakan UTF-8 tanpa BOM. Tipe media yang disarankan `application/jsonl` belum distandardisasi; sepakati metadata transport dengan konsumen.

Pertanyaan umum

Apakah berkas JSON Lines hanya array JSON?

Tidak. Ini urutan nilai JSON yang dipisahkan newline, bukan satu dokumen array; setiap baris dapat diproses mandiri.

Pelajari lebih lanjut

Referensi dan spesifikasi