Apa fungsinya
JSON Lines (disebut juga JSONL atau NDJSON) menyimpan satu nilai JSON per baris. Format ini menjadi pilihan untuk log, ekspor data, API streaming, impor massal BigQuery dan Elasticsearch, serta dataset machine learning seperti file fine-tuning OpenAI, karena program bisa membaca atau menambahkan satu record sekaligus tanpa memuat seluruh file.
Namun banyak alat mengharapkan satu array JSON. Konverter ini mengubah JSON Lines menjadi array JSON yang diformat, dan mengubah array JSON kembali menjadi JSON Lines dengan satu record ringkas per baris.
Cara menggunakan
- Pilih Arah: JSON Lines → JSON atau JSON → JSON Lines.
- Tempel data Anda, unggah file
.jsonl,.ndjson, atau.json, atau klik Contoh. - Untuk output JSON, pilih indentasi 2 atau 4 spasi, atau Ringkas untuk satu baris.
- Salin atau unduh hasilnya, atau gunakan Gunakan sebagai input untuk mengonversinya kembali.
Jika suatu baris bukan JSON yang valid, error menyebutkan nomor baris dan kolomnya sehingga Anda bisa langsung menuju record yang rusak — berguna saat file log memiliki satu entri terpotong di antara ribuan entri.
Contoh
Tiga baris JSON Lines ini:
{"id": 1, "event": "signup"}
{"id": 2, "event": "login"}
{"id": 3, "event": "logout"}
menjadi array JSON berikut:
[
{
"id": 1,
"event": "signup"
},
{
"id": 2,
"event": "login"
},
{
"id": 3,
"event": "logout"
}
]
Pada arah sebaliknya, setiap elemen array ditulis di satu baris tanpa spasi, dan file diakhiri baris baru.
Kapan memakai yang mana
Gunakan JSON Lines saat record dibuat atau diproses satu per satu: menambah ke log, mengalirkan hasil, membagi dataset besar ke beberapa worker, atau memproses dengan alat berbasis baris seperti grep, head, dan wc -l. Gunakan array JSON saat program membutuhkan seluruh koleksi sekaligus, misalnya file konfigurasi, data uji, atau body respons endpoint REST.
FAQ
› Apa bedanya JSONL, NDJSON, dan JSON Lines?
Ketiganya nama untuk format yang sama: satu nilai JSON lengkap per baris, dipisahkan karakter baris baru. JSON Lines (.jsonl) dan newline-delimited JSON (.ndjson) hanya berbeda nama dan ekstensi file.
› Apakah baris kosong diperbolehkan?
Baris kosong dan baris baru di akhir dilewati saat membaca. Akhir baris Windows (CRLF) dan BOM UTF-8 juga ditangani.
› File saya JSON yang diformat dan satu objek memakan beberapa baris. Mengapa gagal?
Dalam JSON Lines setiap nilai harus muat di satu baris. Jika input Anda array JSON biasa, ubah arah menjadi JSON → JSON Lines; jika berupa rangkaian objek yang diformat, masukkan dulu ke dalam array.
› Apakah konversi mengubah angka atau urutan kunci?
Tidak. Nilai dan urutan kunci tetap; hanya spasi yang berubah. Bilangan bulat sangat besar di luar rentang aman JavaScript (sekitar 9 kuadriliun) bisa kehilangan presisi, seperti pada alat JSON berbasis browser lainnya.