Vergleichen
CBOR oder JSON
CBOR ist ein Binäraustauschformat mit einem JSON erweiternden Datenmodell, einschließlich Bytefolgen und Tags. JSON ist ein menschenlesbares Textaustauschformat, das häufig für Web-APIs und Konfigurationen genutzt wird.
Welches Format sollten Sie wählen?
Wählen Sie JSON für von Menschen bearbeiteten oder geprüften Text und Kompatibilität mit bestehenden JSON-APIs. CBOR eignet sich, wenn ein Protokoll kompakte Binärdaten, Bytefolgen, erweiterte Typen oder deterministische Codierung benötigt.
Geeignet für CBOR
Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen
- JSON-ähnliche Daten kompakt binär darstellen
- Standard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen
Geeignet für JSON
Web-APIs, Konfigurationsdateien und Datenaustausch
- Übertragen strukturierter Daten
Grundlegende Informationen
| Merkmal | CBOR | JSON |
|---|---|---|
| Dateiendung | .cbor | .json |
| MIME-Typ | application/cbor | application/json |
| Häufige Verwendung | Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen | Web-APIs, Konfigurationsdateien und Datenaustausch |
| Öffnen | Lesen Sie die Datei mit einer CBOR-Bibliothek oder einem Decoder und prüfen Sie die Diagnose-Notation oder eine JSON-ähnliche Ansicht. Achten Sie auf Werte ohne direktes JSON-Gegenstück, etwa Tags und Bytefolgen. | Öffnen Sie die Datei in einem Texteditor, einer IDE oder einem JSON-fähigen Viewer. |
| Exportieren oder konvertieren | Bei der Umwandlung in JSON benötigen Bytefolgen und getaggte Werte möglicherweise werkzeugspezifische Darstellungen. Beachten Sie bei Signaturen, Hashes oder Cache-Schlüsseln die vereinbarten Protokollregeln, etwa die deterministische Codierung nach RFC 8949. | Anwendungen oder Konvertierungswerkzeuge können sie in Formate wie CSV umwandeln. |
Nach Einsatzzweck wählen
JSON-ähnliche Daten kompakt binär darstellen
Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen
CBORStandard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen
Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen
CBORÜbertragen strukturierter Daten
Web-APIs, Konfigurationsdateien und Datenaustausch
JSONWichtiger Punkt 1
JSON ist zeichenbasierter Text; CBOR-Elemente sind Binärbytes. CBOR unterstützt Ganzzahlen, Bytefolgen und Tags direkt, während JSON für Binärwerte meist Konventionen wie Base64 benötigt.
Unterschiede im DetailWichtiger Punkt 2
JSON nach RFC 8259 definiert Objekte, Arrays, Zeichenketten, Zahlen, Boolesche Werte und null ohne Anwendungsschema. CBOR ergänzt getaggte Werte und erweitert das JSON-Datenmodell.
Unterschiede im DetailUnterschiede im Detail
Verwenden Sie JSON für prüfbare Textschnittstellen und breite Werkzeuge. Verwenden Sie CBOR für Binärprotokolle mit Bytefolgen, Tags oder deterministischer Codierung. Stimmen Sie Tag-Bedeutungen, Zahlenbereiche, Kanonisierung und Bibliotheksunterstützung an beiden Enden ab.
- CBOR-Diagnoseschreibweise dient dem Debugging; tatsächlich werden Binärelemente ausgetauscht. JSON tauscht Text aus.
- CBOR-zu-JSON-Konvertierung kann Tags, Bytefolgen-Unterscheidungen, Ganzzahldarstellung, numerische Präzision oder Eigenschaften deterministischer Codierung verlieren.
- Legen Sie den Umgang mit unbekannten Tags, großen Ganzzahlen, doppelten Map-Schlüsseln und Werten ohne direktes JSON-Gegenstück fest und testen Sie echte Nutzdaten.
Häufige Fragen
Ist CBOR nur komprimiertes JSON?
Nein. CBOR hat ein eigenes Binärdatenmodell und unterstützt Bytefolgen und Tags, die JSON nicht nativ darstellt.