तुलना
CBOR या JSON
CBOR बाइनरी विनिमय फ़ॉर्मैट है, जिसका डेटा मॉडल JSON का विस्तार करता है और byte string व tag जैसे मान रखता है। JSON पढ़ने योग्य टेक्स्ट फ़ॉर्मैट है, जिसका वेब API और कॉन्फ़िगरेशन टूल में व्यापक उपयोग है।
कौन-सा फ़ॉर्मैट चुनें?
लोगों द्वारा संपादित या जाँचे जाने वाले टेक्स्ट और मौजूदा JSON API संगतता के लिए JSON चुनें। प्रोटोकॉल को संक्षिप्त बाइनरी डेटा, byte string, अतिरिक्त प्रकार या deterministic encoding चाहिए तो CBOR पर विचार करें।
इसके लिए उपयुक्त CBOR
सीमित संसाधनों वाले उपकरणों और नेटवर्क पर संरचित डेटा का आदान-प्रदान · COSE और IoT प्रोटोकॉल में डेटा दर्शाना
- JSON जैसे डेटा को छोटे बाइनरी रूप में दर्शाना
- मानों का अर्थ बताने के लिए मानक या ऐप-परिभाषित टैग इस्तेमाल करना
इसके लिए उपयुक्त JSON
वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय
- संरचित डेटा भेजना
मूल जानकारी
| मद | CBOR | JSON |
|---|---|---|
| एक्सटेंशन | .cbor | .json |
| MIME प्रकार | application/cbor | application/json |
| सामान्य उपयोग | सीमित संसाधनों वाले उपकरणों और नेटवर्क पर संरचित डेटा का आदान-प्रदान · COSE और IoT प्रोटोकॉल में डेटा दर्शाना | वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय |
| कैसे खोलें | CBOR लाइब्रेरी या decoder से पढ़ें और diagnostic notation या JSON जैसी दृश्य प्रस्तुति देखें। टैग और बाइट स्ट्रिंग जैसे JSON में सीधे न दर्शाए जा सकने वाले मानों का रूप जाँचें। | इसे टेक्स्ट एडिटर, IDE या JSON समर्थित व्यूअर में खोलें। |
| निर्यात या रूपांतरण | JSON में बदलते समय बाइट स्ट्रिंग और टैग वाले मानों के लिए टूल-विशिष्ट रूप चाहिए हो सकता है। signature, hash या cache key के लिए प्रोटोकॉल के सहमत नियम, जैसे RFC 8949 की deterministic encoding, अपनाएँ। | एप्लिकेशन या रूपांतरण उपकरण इसे CSV जैसे प्रारूपों में बदल सकते हैं। |
उपयोग के अनुसार चुनें
JSON जैसे डेटा को छोटे बाइनरी रूप में दर्शाना
सीमित संसाधनों वाले उपकरणों और नेटवर्क पर संरचित डेटा का आदान-प्रदान · COSE और IoT प्रोटोकॉल में डेटा दर्शाना
CBORमानों का अर्थ बताने के लिए मानक या ऐप-परिभाषित टैग इस्तेमाल करना
सीमित संसाधनों वाले उपकरणों और नेटवर्क पर संरचित डेटा का आदान-प्रदान · COSE और IoT प्रोटोकॉल में डेटा दर्शाना
CBORसंरचित डेटा भेजना
वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय
JSONमुख्य बिंदु 1
JSON अक्षरों वाला टेक्स्ट है; CBOR आइटम बाइनरी byte हैं। CBOR integer, byte string और tag सीधे रखता है, जबकि JSON में बाइनरी मान के लिए अक्सर base64 जैसी परंपरा चाहिए।
अंतर के बारे में विस्तार सेमुख्य बिंदु 2
RFC 8259 JSON object, array, string, number, boolean और null परिभाषित करता है, ऐप स्कीमा अनिवार्य नहीं करता। CBOR tag वाले मान जोड़कर JSON डेटा मॉडल बढ़ाता है।
अंतर के बारे में विस्तार सेअंतर के बारे में विस्तार से
जाँचने योग्य टेक्स्ट इंटरफ़ेस और व्यापक टूल समर्थन के लिए JSON लें। byte string, tag या deterministic encoding का लाभ लेने वाले बाइनरी प्रोटोकॉल के लिए CBOR लें। दोनों पक्ष tag अर्थ, संख्यात्मक सीमा, canonicalization और लाइब्रेरी समर्थन तय करें।
- CBOR diagnostic notation debugging के लिए है; वास्तविक विनिमय बाइनरी आइटम से होता है। JSON टेक्स्ट का विनिमय करता है।
- CBOR से JSON में बदलने पर tag, byte string का भेद, integer रूप, संख्यात्मक सटीकता या deterministic encoding गुण खो सकते हैं।
- अज्ञात tag, बड़ी integer, दोहराई map कुंजी और JSON में सीधे न दर्शाए जा सकने वाले मानों का व्यवहार तय करें; वास्तविक payload से दोनों implementations जाँचें।
अक्सर पूछे जाने वाले प्रश्न
क्या CBOR केवल compressed JSON है?
नहीं। CBOR का अपना बाइनरी डेटा मॉडल है और यह byte string व tag जैसे मान रखता है जिन्हें JSON मूल रूप से नहीं दर्शाता।