Comparer
BSON ou JSON
BSON est un format binaire de documents préfixés par leur longueur, de structure proche de JSON, avec des types supplémentaires tels que date, binaire et ObjectId. JSON est un format texte défini par RFC 8259, lisible et largement pris en charge.
Quel format choisir ?
Envisagez BSON pour les documents compatibles MongoDB et les types explicites date, binaire ou identifiant. JSON facilite souvent l'inspection humaine, les API Web et la configuration textuelle.
Adapté pour BSON
Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON
- Conserver des types comme les dates et les données binaires
- Utiliser des pilotes et outils qui lisent et écrivent du BSON
Adapté pour JSON
API web, fichiers de configuration et échange de données
- Transférer des données structurées
Informations générales
| Élément | BSON | JSON |
|---|---|---|
| Extension | .bson | .json |
| Type MIME | application/bson | application/json |
| Usages courants | Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON | API web, fichiers de configuration et échange de données |
| Comment ouvrir | Lisez-le avec mongorestore ou un outil ou une bibliothèque compatible BSON. Pour examiner son contenu, convertissez-le en Extended JSON ou dans une autre représentation lisible. Ne modifiez pas le fichier binaire dans un éditeur de texte. | Ouvrez-le dans un éditeur de texte, un IDE ou un visualiseur compatible JSON. |
| Exporter ou convertir | Lors d’une conversion en JSON, les dates, ObjectId et valeurs binaires peuvent nécessiter la notation Extended JSON ou une représentation propre à l’application, car le JSON standard n’a pas de types équivalents. Pour une conversion aller-retour, choisissez une méthode qui préserve les types et testez-la avec des données réelles. | Des applications ou outils de conversion peuvent le convertir vers des formats tels que CSV. |
Choisir selon l’usage
Conserver des types comme les dates et les données binaires
Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON
BSONUtiliser des pilotes et outils qui lisent et écrivent du BSON
Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON
BSONTransférer des données structurées
API web, fichiers de configuration et échange de données
JSONPoint clé 1
BSON stocke en binaire la longueur des documents et les types d'éléments, dont date, binaire et ObjectId. JSON est textuel sans type natif dédié aux dates ou octets.
En savoir plus sur les différencesPoint clé 2
BSON distingue int32, int64 et double. Les nombres JSON ne portent pas ces étiquettes, donc plages et précision peuvent varier selon les environnements.
En savoir plus sur les différencesEn savoir plus sur les différences
Utilisez BSON si la base ou le protocole attend les types et le cadrage BSON. Utilisez JSON si interopérabilité textuelle et inspection priment. Définissez la correspondance des valeurs spéciales et testez les pilotes et consommateurs réels.
- BSON n'est pas simplement JSON sérialisé en binaire. Sa spécification définit des documents typés à longueurs explicites et des valeurs propres à BSON.
- La conversion de BSON en JSON peut perdre l'identité ObjectId, la précision ou le fuseau des dates, le sous-type binaire, le comportement Decimal128, la précision entière ou la sémantique des clés dupliquées.
- Vérifiez plages numériques, ordre des tableaux, documents intégrés, null et champs absents, encodage binaire et conventions de toute représentation JSON étendue.
Questions fréquentes
JSON standard peut-il représenter directement toute valeur BSON ?
Non. JSON n'a pas de type natif ObjectId, date ou chaîne d'octets arbitraire. Les applications utilisent des conventions ou Extended JSON, à convenir entre les parties.