Conversor bidireccional de BSON y JSON

Convierte un objeto JSON en bytes BSON hexadecimales con encode, o un documento BSON hexadecimal completo en JSON con decode. Las longitudes y los números usan orden little-endian. Admite cadenas, booleanos, null, números double finitos, int32, int64, documentos anidados y matrices.

Cargando herramienta...

Acerca de conversor bidireccional de bson y json

Conversor bidireccional de BSON y JSONConvierte un objeto JSON en bytes BSON hexadecimales con encode, o un documento BSON hexadecimal completo en JSON con decode. Las longitudes y los números usan orden little-endian. Admite cadenas, booleanos, null, números double finitos, int32, int64, documentos anidados y matrices.

Cómo funciona esta herramienta

Convierte un objeto JSON en bytes BSON hexadecimales con encode, o un documento BSON hexadecimal completo en JSON con decode. Las longitudes y los números usan orden little-endian. Admite cadenas, booleanos, null, números double finitos, int32, int64, documentos anidados y matrices.

Canalización de procesamiento y arquitectura técnica

  1. Pega {"name":"CZOA","ok":true} en Entrada.
  2. Escribe encode en Segunda entrada / expresión y pulsa Ejecutar localmente.
  3. Compara Salida con el ejemplo de 25 bytes. Para invertir la conversión, pega esos bytes hexadecimales en Entrada, escribe decode en el segundo campo y vuelve a ejecutar.

Ejemplo y aplicación práctica

Escenario de aplicación práctica: Codificar un documento JSON admitido como BSON hexadecimal.

Entrada de muestra:

{"name":"CZOA","ok":true}

Procesamiento computacional: Codifica longitud, cadena y Boolean BSON en little-endian.

Salida ilustrativa:

19 00 00 00 02 6e 61 6d 65 00 05 00 00 00 43 5a 4f 41 00 08 6f 6b 00 01 00

Límites y casos especiales

El documento BSON puede ocupar hasta 16 MiB y tener 100 niveles, incluida la raíz. La entrada hexadecimal admite espacios ASCII, tabulaciones y saltos de línea. Rechaza campos duplicados, longitudes incorrectas, UTF-8 inválido, booleanos inválidos, índices de matriz no consecutivos y datos sobrantes. No admite los tipos BSON ObjectId, fecha, binario, regex ni Decimal128. Al codificar, acepta enteros JSON seguros entre −9007199254740991 y 9007199254740991: int32 cuando caben y, en otro caso, int64. Los valores fraccionarios usan binary64 y su redondeo. Rechaza el subdesbordamiento de valores distintos de cero y los números no finitos. Los int64 decodificados fuera del intervalo seguro se convierten en cadenas decimales; al volver a codificarlas se obtienen cadenas BSON y se pierde el tipo int64 original. La conversión JSON puede normalizar la escritura de números, el orden de campos y el ancho de los enteros; la ida y vuelta no garantiza bytes BSON idénticos. No interpreta MongoDB Extended JSON. Los objetos con $oid, $date o $numberLong son objetos JSON anidados comunes; esos nombres no crean valores BSON especiales. El ejemplo codifica {"name":"CZOA","ok":true} en un documento BSON de 25 bytes. Para invertirlo, pega todo el resultado hexadecimal y escribe decode en el segundo campo.

Procesamiento en el navegador y privacidad

La función de la herramienta está diseñada para procesar la entrada en el navegador sin enviarla intencionadamente a un servidor de procesamiento de CZOA. Las solicitudes de recursos del sitio, analítica o publicidad son independientes. El navegador, sus extensiones y el software administrado del dispositivo quedan fuera de este límite.

Ejecución local y metodología de verificación

El procesamiento de la carga útil de esta herramienta está diseñado para ejecutarse localmente en el navegador mediante JavaScript o Web Workers. Las solicitudes de recursos del sitio, análisis o publicidad son independientes. La confidencialidad, la repetibilidad y la latencia dependen del entorno del navegador y no se garantizan de forma absoluta.

Normas técnicas y especificaciones de conformidad

Responsable del contenido: CZOA Tools · Última revisión: 2026-09-15 · Metodología de revisión

Cómo se usa

  1. Pega {"name":"CZOA","ok":true} en Entrada.
  2. Escribe encode en Segunda entrada / expresión y pulsa Ejecutar localmente.
  3. Compara Salida con el ejemplo de 25 bytes. Para invertir la conversión, pega esos bytes hexadecimales en Entrada, escribe decode en el segundo campo y vuelve a ejecutar.

Preguntas frecuentes

¿Qué conversión BSON realiza esta página?+

Codifica valores JSON admitidos como un documento BSON hexadecimal o decodifica un documento hexadecimal completo. Longitudes y campos numéricos BSON usan little-endian.

¿Qué tipos BSON e límite de enteros muestra?+

Admite cadenas, Boolean, null, doubles finitos, int32, int64, documentos y matrices. Un int64 decodificado fuera de precisión segura de JavaScript se presenta como texto decimal.

¿La ida y vuelta BSON conserva bytes?+

No. Recodificar el texto decimal de un int64 inseguro crea BSON string; también pueden normalizarse orden de campos, escritura numérica y ancho entero.

¿Qué BSON inválido rechaza?+

Rechaza longitudes malformadas, UTF-8 inválido, campos duplicados, índices de matriz no secuenciales y bytes finales. Limita a 16 MiB y 100 niveles; ObjectId, fechas, binario, regex y Decimal128 quedan fuera.