Format Atlas

Comparar

BSON o JSON

BSON es un formato binario de documentos con longitud prefijada, estructuras similares a JSON y tipos adicionales como fechas, binarios y ObjectId. JSON es texto definido por RFC 8259, apreciado por su legibilidad y herramientas amplias.

¿Qué formato deberías elegir?

Considera BSON para documentos compatibles con MongoDB y tipos explícitos de fecha, binario o identificador. JSON suele facilitar la inspección humana, las API web y la configuración textual.

Adecuado para BSON

Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON

  • Conservar tipos como fechas y datos binarios
  • Usar controladores y herramientas que lean y escriban BSON

Adecuado para JSON

API web, archivos de configuración e intercambio de datos

  • Transferir datos estructurados

Información básica

CampoBSONJSON
Extensión.bson.json
Tipo MIMEapplication/bsonapplication/json
Usos habitualesSerializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSONAPI web, archivos de configuración e intercambio de datos
Cómo abrirÁbrelo con mongorestore o con una biblioteca o herramienta compatible con BSON. Para consultar su contenido, conviértelo a Extended JSON u otra representación legible. No edites el archivo binario en un editor de texto.Ábralo en un editor de texto, IDE o visor compatible con JSON.
Exportar o convertirAl convertir a JSON, las fechas, ObjectId y los valores binarios pueden requerir la notación Extended JSON o una representación propia de la aplicación, porque JSON estándar no tiene tipos equivalentes. Si necesitas convertir en ambos sentidos, usa un método que conserve los tipos y pruébalo con datos reales.Las aplicaciones o herramientas de conversión pueden convertirlo a formatos como CSV.

Elegir según el uso

Conservar tipos como fechas y datos binarios

Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON

BSON

Usar controladores y herramientas que lean y escriban BSON

Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON

BSON

Transferir datos estructurados

API web, archivos de configuración e intercambio de datos

JSON

Punto clave 1

BSON almacena en binario longitudes de documentos y tipos de elementos, como fecha, binario y ObjectId. JSON es textual y no tiene tipos básicos dedicados para fecha o bytes.

Más sobre las diferencias

Punto clave 2

BSON distingue int32, int64 y double. Los números JSON no llevan esas etiquetas de tipo, por lo que los entornos pueden tratar rangos y precisión de forma distinta.

Más sobre las diferencias

Más sobre las diferencias

Usa BSON cuando la base de datos o el protocolo espere tipos y encuadre BSON. Usa JSON si importan la interoperabilidad textual y la inspección. Especifica la correspondencia de valores especiales y prueba los controladores y consumidores concretos.

  • BSON no es simplemente JSON serializado en binario. Su especificación define documentos tipados con longitudes explícitas y valores propios.
  • Al convertir BSON a JSON pueden perderse la identidad de ObjectId, precisión o zona horaria de fechas, subtipo binario, comportamiento Decimal128, precisión entera o semántica de claves duplicadas.
  • Comprueba rangos numéricos, orden de arrays, documentos anidados, null y campos ausentes, codificación binaria y convenciones de cualquier representación JSON extendida.

Preguntas frecuentes

¿JSON estándar puede representar directamente todos los valores BSON?

No. JSON no incluye tipos nativos para ObjectId, fechas o bytes arbitrarios. Las aplicaciones usan convenciones o Extended JSON, que ambas partes deben acordar.

Más información

Referencias y especificaciones