Comparar
CBOR ou JSON
CBOR é um formato binário de intercâmbio cujo modelo amplia JSON, incluindo valores como strings de bytes e tags. JSON é um formato textual legível, muito usado em APIs web e ferramentas de configuração.
Qual formato você deve escolher?
Escolha JSON para textos editados ou inspecionados por pessoas e compatibilidade com APIs JSON existentes. Considere CBOR quando o protocolo exigir dados binários compactos, bytes, tipos estendidos ou codificação determinística.
Indicado para CBOR
Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT
- Representar dados semelhantes a JSON em formato binário compacto
- Usar tags padrão ou definidas pela aplicação para indicar significado
Indicado para JSON
APIs web, arquivos de configuração e troca de dados
- Transferir dados estruturados
Informações básicas
| Campo | CBOR | JSON |
|---|---|---|
| Extensão | .cbor | .json |
| Tipo MIME | application/cbor | application/json |
| Usos comuns | Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT | APIs web, arquivos de configuração e troca de dados |
| Como abrir | Leia com uma biblioteca ou decodificador CBOR e examine a notação de diagnóstico ou uma visualização semelhante a JSON. Confira como aparecem os valores sem equivalente direto em JSON, como tags e sequências de bytes. | Abra em um editor de texto, IDE ou visualizador compatível com JSON. |
| Exportar ou converter | Na conversão para JSON, sequências de bytes e valores com tags podem exigir representações próprias da ferramenta. Para assinaturas, hashes ou chaves de cache, siga as regras acordadas pelo protocolo, como a codificação determinística da RFC 8949. | Aplicativos ou ferramentas de conversão podem convertê-lo para formatos como CSV. |
Escolha por finalidade
Representar dados semelhantes a JSON em formato binário compacto
Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT
CBORUsar tags padrão ou definidas pela aplicação para indicar significado
Troca de dados estruturados em dispositivos e redes com recursos limitados · Representação de dados em COSE e protocolos de IoT
CBORTransferir dados estruturados
APIs web, arquivos de configuração e troca de dados
JSONPonto principal 1
JSON é texto representado por caracteres; itens CBOR são bytes binários. CBOR oferece inteiros, strings de bytes e tags diretamente; JSON costuma exigir convenções como base64 para dados binários.
Mais sobre as diferençasPonto principal 2
JSON da RFC 8259 define objetos, arrays, strings, números, booleanos e null sem exigir esquema da aplicação. CBOR acrescenta valores com tags e amplia o modelo de dados do JSON.
Mais sobre as diferençasMais sobre as diferenças
Use JSON para interfaces textuais inspecionáveis e ferramentas amplas. Use CBOR para protocolos binários que aproveitam bytes, tags ou codificação determinística. Combine significados de tags, faixas numéricas, canonicalização e bibliotecas nos dois lados.
- A notação diagnóstica do CBOR serve para depuração; o intercâmbio real usa itens binários. JSON troca texto.
- Converter CBOR em JSON pode perder tags, distinção de strings de bytes, representação de inteiros, precisão numérica ou propriedades da codificação determinística.
- Defina o tratamento de tags desconhecidas, inteiros grandes, chaves duplicadas em mapas e valores sem equivalente direto em JSON; teste as implementações com mensagens reais.
Perguntas frequentes
CBOR é apenas JSON comprimido?
Não. CBOR tem modelo binário próprio e admite valores como strings de bytes e tags que JSON não representa nativamente.