Bandingkan
BSON atau JSON
BSON adalah format dokumen biner dengan awalan panjang, struktur mirip JSON, dan tipe tambahan seperti tanggal, biner, serta ObjectId. JSON adalah format teks RFC 8259 yang unggul dalam keterbacaan dan dukungan alat yang luas.
Format mana yang sebaiknya dipilih?
Pertimbangkan BSON untuk dokumen kompatibel MongoDB dan tipe tanggal, biner, atau pengenal yang eksplisit. JSON sering lebih mudah untuk pemeriksaan manusia, API web, dan konfigurasi teks.
Cocok untuk BSON
Menserialisasi dokumen MongoDB · Bertukar dokumen antaralat yang mendukung BSON
- Mempertahankan tipe seperti tanggal dan data biner
- Menggunakan driver dan alat yang dapat membaca serta menulis BSON
Cocok untuk JSON
API web, file konfigurasi, dan pertukaran data
- Mengirim data terstruktur
Informasi dasar
| Item | BSON | JSON |
|---|---|---|
| Ekstensi | .bson | .json |
| Tipe MIME | application/bson | application/json |
| Penggunaan umum | Menserialisasi dokumen MongoDB · Bertukar dokumen antaralat yang mendukung BSON | API web, file konfigurasi, dan pertukaran data |
| Cara membuka | Baca dengan mongorestore atau alat maupun pustaka yang mendukung BSON. Untuk memeriksa isinya, ubah BSON ke Extended JSON atau representasi lain yang mudah dibaca. Jangan mengedit file biner dengan editor teks. | Buka dalam editor teks, IDE, atau penampil yang mendukung JSON. |
| Ekspor atau konversi | Saat mengubah ke JSON, tanggal, ObjectId, dan nilai biner mungkin memerlukan notasi Extended JSON atau representasi khusus aplikasi karena JSON standar tidak memiliki tipe yang setara. Jika perlu konversi bolak-balik, pilih cara yang mempertahankan informasi tipe dan uji dengan data nyata. | Aplikasi atau alat konversi dapat mengubahnya ke format seperti CSV. |
Pilih menurut penggunaan
Mempertahankan tipe seperti tanggal dan data biner
Menserialisasi dokumen MongoDB · Bertukar dokumen antaralat yang mendukung BSON
BSONMenggunakan driver dan alat yang dapat membaca serta menulis BSON
Menserialisasi dokumen MongoDB · Bertukar dokumen antaralat yang mendukung BSON
BSONMengirim data terstruktur
API web, file konfigurasi, dan pertukaran data
JSONPoin utama 1
BSON menyimpan panjang dokumen dan tipe elemen secara biner, termasuk tanggal, biner, dan ObjectId. JSON berbentuk teks dan tidak memiliki tipe dasar khusus untuk tanggal atau byte.
Perbedaan lebih lanjutPoin utama 2
BSON membedakan int32, int64, dan double. Angka JSON tidak membawa label tipe tersebut sehingga runtime bisa menangani rentang dan presisi secara berbeda.
Perbedaan lebih lanjutPerbedaan lebih lanjut
Gunakan BSON ketika database atau protokol mengharapkan tipe dan framing dokumen BSON. Gunakan JSON bila interoperabilitas teks dan inspeksi penting. Tentukan pemetaan nilai khusus dan uji driver serta konsumen yang sebenarnya.
- BSON bukan sekadar JSON yang diserialisasi menjadi biner. Spesifikasinya mendefinisikan dokumen bertipe dengan panjang eksplisit dan nilai khusus BSON.
- Konversi BSON ke JSON dapat menghilangkan identitas ObjectId, presisi atau asumsi zona waktu tanggal, subtype biner, perilaku Decimal128, presisi integer, atau semantik kunci duplikat.
- Periksa rentang angka, urutan array, dokumen bertingkat, null dan field yang hilang, encoding biner, serta konvensi representasi JSON Extended.
Pertanyaan umum
Bisakah JSON standar mewakili semua nilai BSON secara langsung?
Tidak. JSON tidak memiliki tipe asli untuk ObjectId, tanggal, atau string byte arbitrer. Aplikasi memakai konvensi atau Extended JSON yang harus disepakati kedua pihak.