Format Atlas

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

ItemBSONJSON
Ekstensi.bson.json
Tipe MIMEapplication/bsonapplication/json
Penggunaan umumMenserialisasi dokumen MongoDB · Bertukar dokumen antaralat yang mendukung BSONAPI web, file konfigurasi, dan pertukaran data
Cara membukaBaca 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 konversiSaat 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

BSON

Menggunakan driver dan alat yang dapat membaca serta menulis BSON

Menserialisasi dokumen MongoDB · Bertukar dokumen antaralat yang mendukung BSON

BSON

Mengirim data terstruktur

API web, file konfigurasi, dan pertukaran data

JSON

Poin 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 lanjut

Poin 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 lanjut

Perbedaan 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.

Pelajari lebih lanjut

Referensi dan spesifikasi