Comparar
CBOR o JSON
CBOR es un formato binario de intercambio cuyo modelo amplía JSON, con valores como cadenas de bytes y etiquetas. JSON es un formato textual legible, muy usado en API web y herramientas de configuración.
¿Qué formato deberías elegir?
Elige JSON para texto que las personas editan o inspeccionan y para compatibilidad con API JSON existentes. Considera CBOR si el protocolo necesita datos binarios compactos, bytes, tipos ampliados o codificación determinista.
Adecuado para CBOR
Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT
- Representar datos similares a JSON en formato binario compacto
- Usar etiquetas estándar o propias de una aplicación para indicar el significado
Adecuado para JSON
API web, archivos de configuración e intercambio de datos
- Transferir datos estructurados
Información básica
| Campo | CBOR | JSON |
|---|---|---|
| Extensión | .cbor | .json |
| Tipo MIME | application/cbor | application/json |
| Usos habituales | Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT | API web, archivos de configuración e intercambio de datos |
| Cómo abrir | Léelo con una biblioteca o un decodificador CBOR y consulta su notación de diagnóstico o una vista similar a JSON. Comprueba cómo se muestran los valores sin equivalente directo en JSON, como las etiquetas y las cadenas de bytes. | Ábralo en un editor de texto, IDE o visor compatible con JSON. |
| Exportar o convertir | Al convertir a JSON, las cadenas de bytes y los valores con etiquetas pueden necesitar representaciones propias de la herramienta. Para firmas, hashes o claves de caché, sigue las reglas acordadas por el protocolo, como la codificación determinista de RFC 8949. | Las aplicaciones o herramientas de conversión pueden convertirlo a formatos como CSV. |
Elegir según el uso
Representar datos similares a JSON en formato binario compacto
Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT
CBORUsar etiquetas estándar o propias de una aplicación para indicar el significado
Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT
CBORTransferir datos estructurados
API web, archivos de configuración e intercambio de datos
JSONPunto clave 1
JSON es texto representado como caracteres; los elementos CBOR son bytes binarios. CBOR admite directamente enteros, cadenas de bytes y etiquetas; JSON suele requerir convenciones como cadenas base64 para datos binarios.
Más sobre las diferenciasPunto clave 2
JSON según RFC 8259 define objetos, arreglos, cadenas, números, booleanos y null sin exigir esquema de aplicación. CBOR añade valores etiquetados y amplía el modelo de datos de JSON.
Más sobre las diferenciasMás sobre las diferencias
Usa JSON para interfaces textuales inspeccionables y herramientas amplias. Usa CBOR para protocolos binarios que aprovechan bytes, etiquetas o codificación determinista. Acuerda el significado de las etiquetas, rangos numéricos, canonicalización y bibliotecas en ambos extremos.
- La notación diagnóstica de CBOR sirve para depuración; el intercambio real usa elementos binarios. JSON intercambia texto.
- Convertir CBOR a JSON puede perder etiquetas, distinción de cadenas de bytes, representación entera, precisión numérica o propiedades de codificación determinista.
- Define cómo tratar etiquetas desconocidas, enteros grandes, claves de mapa duplicadas y valores sin equivalente directo en JSON; prueba ambas implementaciones con mensajes reales.
Preguntas frecuentes
¿CBOR es solo JSON comprimido?
No. CBOR tiene un modelo binario propio y admite valores como cadenas de bytes y etiquetas que JSON no representa de forma nativa.