Confronta
CBOR o JSON
CBOR è un formato binario di scambio con un modello dati che estende JSON, includendo valori come byte string e tag. JSON è un formato testuale leggibile, molto usato da API web e strumenti di configurazione.
Quale formato scegliere?
Scegli JSON per testi modificati o ispezionati da persone e per la compatibilità con API JSON esistenti. Valuta CBOR quando un protocollo richiede dati binari compatti, byte string, tipi estesi o codifica deterministica.
Adatto per CBOR
Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT
- Rappresentare dati simili a JSON in forma binaria compatta
- Usare tag standard o definiti dall’applicazione per indicare il significato dei valori
Adatto per JSON
API web, file di configurazione e scambio dati
- Trasferire dati strutturati
Informazioni di base
| Voce | CBOR | JSON |
|---|---|---|
| Estensione | .cbor | .json |
| Tipo MIME | application/cbor | application/json |
| Usi comuni | Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT | API web, file di configurazione e scambio dati |
| Come aprire | Leggilo con una libreria o un decoder CBOR e controlla la notazione diagnostica o una vista simile a JSON. Verifica la rappresentazione dei valori senza equivalente diretto in JSON, come tag e sequenze di byte. | Aprilo in un editor di testo, IDE o visualizzatore compatibile con JSON. |
| Esportare o convertire | Nella conversione in JSON, sequenze di byte e valori con tag possono richiedere rappresentazioni specifiche dello strumento. Per firme, hash o chiavi di cache, segui le regole concordate dal protocollo, come la codifica deterministica di RFC 8949. | Applicazioni o strumenti di conversione possono convertirlo in formati come CSV. |
Scegli in base all'uso
Rappresentare dati simili a JSON in forma binaria compatta
Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT
CBORUsare tag standard o definiti dall’applicazione per indicare il significato dei valori
Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT
CBORTrasferire dati strutturati
API web, file di configurazione e scambio dati
JSONPunto chiave 1
JSON è testo rappresentato da caratteri; gli elementi CBOR sono byte binari. CBOR supporta direttamente interi, byte string e tag, mentre JSON richiede spesso convenzioni come base64 per dati binari.
Approfondisci le differenzePunto chiave 2
JSON secondo RFC 8259 definisce oggetti, array, stringhe, numeri, booleani e null senza richiedere uno schema applicativo. CBOR aggiunge valori con tag ed estende il modello JSON.
Approfondisci le differenzeApprofondisci le differenze
Usa JSON per interfacce testuali ispezionabili e strumenti diffusi. Usa CBOR per protocolli binari che sfruttano byte string, tag o codifica deterministica. Concorda a entrambe le estremità significato dei tag, intervalli numerici, canonicalizzazione e supporto delle librerie.
- La notazione diagnostica CBOR serve al debug; lo scambio effettivo usa elementi binari. JSON scambia testo.
- Convertire CBOR in JSON può perdere tag, distinzione delle byte string, rappresentazione degli interi, precisione numerica o proprietà della codifica deterministica.
- Definisci la gestione di tag sconosciuti, interi grandi, chiavi map duplicate e valori senza equivalente JSON diretto; prova le implementazioni con payload reali.
Domande frequenti
CBOR è solo JSON compresso?
No. CBOR ha un proprio modello binario e supporta byte string e tag che JSON non rappresenta nativamente.