Format Atlas

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

CampoBSONJSON
Extensão.bson.json
Tipo MIMEapplication/bsonapplication/json
Usos comunsSerializar documentos do MongoDB · Trocar documentos entre ferramentas compatíveis com BSONAPIs web, arquivos de configuração e troca de dados
Como abrirLeia 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 converterNa 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

BSON

Usar drivers e ferramentas que leem e gravam BSON

Serializar documentos do MongoDB · Trocar documentos entre ferramentas compatíveis com BSON

BSON

Transferir dados estruturados

APIs web, arquivos de configuração e troca de dados

JSON

Ponto 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ças

Ponto 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ças

Mais 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.

Saiba mais

Referências e especificações