Comparar
BSON ou JSON
BSON é um formato binário de documentos com comprimento prefixado, estruturas semelhantes a JSON e tipos adicionais como datas, binários e ObjectId. JSON é texto definido pela RFC 8259, valorizado pela legibilidade e ampla variedade de ferramentas.
Qual formato você deve escolher?
Considere BSON para documentos compatíveis com MongoDB e tipos explícitos de data, binário ou identificador. JSON costuma facilitar inspeção humana, APIs web e configurações textuais.
Indicado para BSON
Serializar documentos do MongoDB · Trocar documentos entre ferramentas compatíveis com BSON
- Preservar tipos como datas e dados binários
- Usar drivers e ferramentas que leem e gravam BSON
Indicado para JSON
APIs web, arquivos de configuração e troca de dados
- Transferir dados estruturados
Informações básicas
| Campo | BSON | JSON |
|---|---|---|
| Extensão | .bson | .json |
| Tipo MIME | application/bson | application/json |
| Usos comuns | Serializar documentos do MongoDB · Trocar documentos entre ferramentas compatíveis com BSON | APIs web, arquivos de configuração e troca de dados |
| Como abrir | Leia o arquivo com mongorestore ou uma ferramenta ou biblioteca compatível com BSON. Para inspecionar o conteúdo, converta-o para Extended JSON ou outra representação legível. Não edite o arquivo binário em um editor de texto. | Abra em um editor de texto, IDE ou visualizador compatível com JSON. |
| Exportar ou converter | Na conversão para JSON, datas, ObjectId e valores binários podem exigir a notação Extended JSON ou uma representação própria do aplicativo, pois o JSON padrão não tem tipos correspondentes. Se precisar converter nos dois sentidos, escolha um método que preserve os tipos e teste com dados reais. | Aplicativos ou ferramentas de conversão podem convertê-lo para formatos como CSV. |
Escolha por finalidade
Preservar tipos como datas e dados binários
Serializar documentos do MongoDB · Trocar documentos entre ferramentas compatíveis com BSON
BSONUsar drivers e ferramentas que leem e gravam BSON
Serializar documentos do MongoDB · Trocar documentos entre ferramentas compatíveis com BSON
BSONTransferir dados estruturados
APIs web, arquivos de configuração e troca de dados
JSONPonto principal 1
BSON armazena em binário o tamanho dos documentos e os tipos dos elementos, incluindo data, binário e ObjectId. JSON é textual e não possui tipo básico próprio para data ou bytes.
Mais sobre as diferençasPonto principal 2
BSON distingue int32, int64 e double. Números JSON não carregam esses rótulos de tipo, então ambientes podem tratar faixa e precisão de forma diferente.
Mais sobre as diferençasMais sobre as diferenças
Use BSON quando o banco de dados ou protocolo esperar tipos e enquadramento BSON. Use JSON quando interoperabilidade textual e inspeção forem importantes. Defina o mapeamento de valores especiais e teste os drivers e consumidores reais.
- BSON não é simplesmente JSON serializado em binário. Sua especificação define documentos tipados com comprimentos explícitos e valores próprios.
- Ao converter BSON para JSON, podem se perder a identidade do ObjectId, a precisão ou fuso horário da data, o subtipo binário, o comportamento Decimal128, a precisão inteira ou a semântica de chaves duplicadas.
- Verifique faixas numéricas, ordem de arrays, documentos aninhados, null e campos ausentes, codificação de binários e convenções de qualquer representação JSON estendida.
Perguntas frequentes
JSON padrão representa diretamente todo valor BSON?
Não. JSON não tem tipos nativos para ObjectId, data ou bytes arbitrários. Aplicações usam convenções ou Extended JSON, que precisam ser acordados por ambas as partes.