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
| Campo | BSON | JSON |
|---|---|---|
| Extensión | .bson | .json |
| Tipo MIME | application/bson | application/json |
| Usos habituales | Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON | API 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 convertir | Al 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
BSONUsar controladores y herramientas que lean y escriban BSON
Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON
BSONTransferir datos estructurados
API web, archivos de configuración e intercambio de datos
JSONPunto 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 diferenciasPunto 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 diferenciasMá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.