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
| Item | JSON Lines | JSON |
|---|---|---|
| Ekstensi | .jsonl, .ndjson | .json |
| Tipe MIME | application/jsonl | application/json |
| Penggunaan umum | Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming | API web, file konfigurasi, dan pertukaran data |
| Cara membuka | Buka 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 konversi | Untuk 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 LinesMenambahkan atau menggabungkan data teks dengan alat umum
Log dan catatan yang diproses per baris · Pertukaran rekaman JSON secara streaming
JSON LinesMengirim data terstruktur
API web, file konfigurasi, dan pertukaran data
JSONPoin 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 lanjutPoin 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 lanjutPerbedaan 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.