Confronta
BSON o JSON
BSON è un formato binario per documenti con lunghezza prefissata, struttura simile a JSON e tipi aggiuntivi come date, dati binari e ObjectId. JSON è il formato testuale definito da RFC 8259, leggibile e supportato da molti strumenti.
Quale formato scegliere?
Valuta BSON per documenti compatibili con MongoDB e tipi espliciti per date, dati binari o identificatori. JSON è spesso più semplice da ispezionare, usare nelle API web e nelle configurazioni testuali.
Adatto per BSON
Serializzare documenti MongoDB · Scambiare documenti tra strumenti compatibili con BSON
- Conservare tipi come date e dati binari
- Usare driver e strumenti che leggono e scrivono BSON
Adatto per JSON
API web, file di configurazione e scambio dati
- Trasferire dati strutturati
Informazioni di base
| Voce | BSON | JSON |
|---|---|---|
| Estensione | .bson | .json |
| Tipo MIME | application/bson | application/json |
| Usi comuni | Serializzare documenti MongoDB · Scambiare documenti tra strumenti compatibili con BSON | API web, file di configurazione e scambio dati |
| Come aprire | Leggilo con mongorestore o con uno strumento o una libreria compatibile con BSON. Per esaminarne il contenuto, convertilo in Extended JSON o in un’altra rappresentazione leggibile. Non modificare il file binario in un editor di testo. | Aprilo in un editor di testo, IDE o visualizzatore compatibile con JSON. |
| Esportare o convertire | Convertendo in JSON, date, ObjectId e valori binari possono richiedere la notazione Extended JSON o una rappresentazione specifica dell’applicazione, perché JSON standard non ha tipi equivalenti. Se serve una conversione reversibile, scegli un metodo che mantenga le informazioni sui tipi e provalo con dati reali. | Applicazioni o strumenti di conversione possono convertirlo in formati come CSV. |
Scegli in base all'uso
Conservare tipi come date e dati binari
Serializzare documenti MongoDB · Scambiare documenti tra strumenti compatibili con BSON
BSONUsare driver e strumenti che leggono e scrivono BSON
Serializzare documenti MongoDB · Scambiare documenti tra strumenti compatibili con BSON
BSONTrasferire dati strutturati
API web, file di configurazione e scambio dati
JSONPunto chiave 1
BSON memorizza in binario lunghezze dei documenti e tipi degli elementi, tra cui data, binary e ObjectId. JSON è testuale e non ha un tipo base dedicato per date o byte.
Approfondisci le differenzePunto chiave 2
BSON distingue int32, int64 e double. I numeri JSON non portano queste etichette, quindi gli ambienti possono gestire intervallo e precisione in modo diverso.
Approfondisci le differenzeApprofondisci le differenze
Usa BSON quando database o protocollo si aspettano tipi e framing BSON. Usa JSON se contano interoperabilità testuale e ispezione. Definisci la mappatura dei valori speciali e prova driver e consumatori reali.
- BSON non è semplicemente JSON serializzato in binario. La specifica definisce documenti tipizzati con lunghezze esplicite e valori specifici BSON.
- La conversione BSON-JSON può perdere identità ObjectId, precisione o ipotesi sul fuso orario delle date, sottotipo binario, comportamento Decimal128, precisione intera o semantica delle chiavi duplicate.
- Verifica intervalli numerici, ordine degli array, documenti incorporati, null e campi mancanti, codifica binaria e convenzioni delle rappresentazioni JSON estese.
Domande frequenti
JSON standard può rappresentare direttamente ogni valore BSON?
No. JSON non ha tipi nativi per ObjectId, date o stringhe di byte arbitrarie. Le applicazioni usano convenzioni o Extended JSON, da concordare tra le parti.