Conversor BSON para JSON (texto)
Explica diferenças entre BSON (binário) e JSON, com tabela de tipos e exemplos de conversão textual.
Copiado!
Cole os bytes BSON em hex. Binary/ObjectId viram 0x…; datetime vira ms. int64 pode perder precisão acima de 2⁵³.
BSON é o formato binário usado pelo MongoDB. Ele suporta tipos extras como ObjectId, Date, Binary e Decimal128.
Em JSON estendido (EJSON), esses tipos viram objetos:
{ "_id": { "$oid": "5f..." }, "ts": { "$date": "2024-01-01T00:00:00Z" } }A conversão direta de bytes BSON exige bibliotecas (ex: bson do NPM).
Bytes BSON do Mongo virando JSON legível
Você tirou um documento do MongoDB com mongodump, abriu num editor hexadecimal e agora encara uma parede de bytes. Ou apareceu um blob binário num log e você precisa saber que campos existem ali dentro antes de escrever qualquer código. Cole o hexadecimal no campo de cima e o documento aparece em JSON identado logo abaixo. Espaços e o prefixo 0x são ignorados na leitura.
O decodificador lê o cabeçalho de tamanho de 32 bits, percorre os trios tipo-nome-valor e para no byte nulo final. Ele cobre double, string, subdocumento, array, binary, ObjectId, boolean, datetime UTC, null, int32, timestamp e int64. Binary e ObjectId saem como texto começando em 0x, e não no formato EJSON com $oid que o bloco explicativo mostra. Datetime vira o número de milissegundos, algo como 1715253010752, nunca uma data ISO.
Tipos fora dessa lista interrompem a leitura com a mensagem de tipo BSON não suportado e o código em hexadecimal: decimal128 (0x13), expressão regular (0x0b) e código JavaScript caem aí. Inteiros de 64 bits acima de 2^53 chegam arredondados, porque a saída passa por número JavaScript. Para arquivos inteiros ou para preservar esses tipos, use o pacote bson do NPM. Aqui a ideia é espiar um documento pequeno rápido, sem enviar nada.
Perguntas frequentes
Preciso enviar o arquivo .bson?
Por que o ObjectId aparece com 0x na frente?
E se o documento tiver decimal128?
Ferramentas Relacionadas
Conversor CBOR para JSON (texto)
Explica o CBOR (RFC 8949), seus tipos e como representar valores binários compactos em JSON textual.
Conversor MessagePack para JSON (texto)
Explica o formato binário MessagePack, suas vantagens e como traduzir para JSON textual com exemplos.
Tradutor de Código Binário
Converta texto em código binário (0s e 1s) e vice-versa. Suporta qualquer caractere ASCII. Processado no navegador.