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.
JSON para TypeScript
Converta um JSON em interfaces TypeScript com tipos inferidos automaticamente. Detecta strings, números, booleanos, arrays, objetos aninhados e união de tipos. Tudo no navegador.
YAML para JSON
Converta dados YAML para formato JSON.
Conversor de Medidas Dentro do Texto
Converte todas as medidas dentro de um texto entre imperial e métrico, entendendo frações, polegadas, libras, xícaras e graus Fahrenheit.