तुलना
BSON या JSON
BSON लंबाई-उपसर्ग वाला बाइनरी दस्तावेज़ फ़ॉर्मैट है, जिसकी संरचना JSON जैसी है और इसमें तारीख, बाइनरी तथा ObjectId जैसे अतिरिक्त प्रकार हैं। JSON RFC 8259 का टेक्स्ट फ़ॉर्मैट है, जो पठनीयता और व्यापक टूल समर्थन के लिए उपयोगी है।
कौन-सा फ़ॉर्मैट चुनें?
MongoDB-संगत दस्तावेज़ और स्पष्ट तारीख, बाइनरी या पहचानकर्ता प्रकार चाहिए तो BSON पर विचार करें। मानव निरीक्षण, वेब API और टेक्स्ट कॉन्फ़िगरेशन के लिए JSON अक्सर आसान है।
इसके लिए उपयुक्त BSON
MongoDB दस्तावेज़ों को सीरियलाइज़ करना · BSON समर्थित टूल के बीच दस्तावेज़ों का आदान-प्रदान
- तारीख और बाइनरी डेटा जैसे प्रकार सुरक्षित रखना
- BSON पढ़ने और लिखने वाले ड्राइवर तथा टूल इस्तेमाल करना
इसके लिए उपयुक्त JSON
वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय
- संरचित डेटा भेजना
मूल जानकारी
| मद | BSON | JSON |
|---|---|---|
| एक्सटेंशन | .bson | .json |
| MIME प्रकार | application/bson | application/json |
| सामान्य उपयोग | MongoDB दस्तावेज़ों को सीरियलाइज़ करना · BSON समर्थित टूल के बीच दस्तावेज़ों का आदान-प्रदान | वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय |
| कैसे खोलें | इसे mongorestore या BSON समर्थित टूल अथवा लाइब्रेरी से पढ़ें। सामग्री देखने के लिए BSON को Extended JSON या किसी अन्य पढ़ने योग्य रूप में बदलें। बाइनरी फ़ाइल को टेक्स्ट एडिटर में न बदलें। | इसे टेक्स्ट एडिटर, IDE या JSON समर्थित व्यूअर में खोलें। |
| निर्यात या रूपांतरण | JSON में बदलते समय तारीख, ObjectId और बाइनरी मानों के लिए Extended JSON या ऐप-विशिष्ट रूप चाहिए हो सकता है, क्योंकि मानक JSON में उनके अनुरूप प्रकार नहीं हैं। वापस BSON में भी बदलना हो तो प्रकार की जानकारी सुरक्षित रखने वाला तरीका चुनें और वास्तविक डेटा से जाँचें। | एप्लिकेशन या रूपांतरण उपकरण इसे CSV जैसे प्रारूपों में बदल सकते हैं। |
उपयोग के अनुसार चुनें
तारीख और बाइनरी डेटा जैसे प्रकार सुरक्षित रखना
MongoDB दस्तावेज़ों को सीरियलाइज़ करना · BSON समर्थित टूल के बीच दस्तावेज़ों का आदान-प्रदान
BSONBSON पढ़ने और लिखने वाले ड्राइवर तथा टूल इस्तेमाल करना
MongoDB दस्तावेज़ों को सीरियलाइज़ करना · BSON समर्थित टूल के बीच दस्तावेज़ों का आदान-प्रदान
BSONसंरचित डेटा भेजना
वेब API, कॉन्फ़िगरेशन फाइलें और डेटा विनिमय
JSONमुख्य बिंदु 1
BSON दस्तावेज़ की लंबाई और तत्व प्रकार बाइनरी में रखता है, जिनमें date, binary और ObjectId शामिल हैं। JSON टेक्स्ट है और इसमें तारीख या byte string का समर्पित मूल प्रकार नहीं है।
अंतर के बारे में विस्तार सेमुख्य बिंदु 2
BSON int32, int64 और double में भेद करता है। JSON संख्याओं पर ऐसे प्रकार लेबल नहीं होते, इसलिए रनटाइम सीमा और सटीकता अलग ढंग से संभाल सकते हैं।
अंतर के बारे में विस्तार सेअंतर के बारे में विस्तार से
जब डेटाबेस या प्रोटोकॉल BSON प्रकार और दस्तावेज़ framing की अपेक्षा करे, BSON उपयोग करें। टेक्स्ट इंटरऑपरेबिलिटी और निरीक्षण अहम हो तो JSON लें। विशेष मानों का मानचित्रण तय करें और वास्तविक ड्राइवर व उपभोक्ताओं से परीक्षण करें।
- BSON केवल JSON का बाइनरी रूप नहीं है। इसकी विशिष्टता स्पष्ट लंबाई और BSON-विशिष्ट मानों वाले टाइप दस्तावेज़ परिभाषित करती है।
- BSON को JSON में बदलने पर ObjectId पहचान, तारीख की सटीकता या timezone धारणाएँ, binary subtype, Decimal128 व्यवहार, पूर्णांक सटीकता या दोहराई गई कुंजियों का अर्थ खो सकता है।
- संख्यात्मक सीमाएँ, array क्रम, अंतर्निहित दस्तावेज़, null और अनुपस्थित फ़ील्ड, बाइनरी एन्कोडिंग तथा Extended JSON की परंपराएँ जाँचें।
अक्सर पूछे जाने वाले प्रश्न
क्या मानक JSON हर BSON मान को सीधे दर्शा सकता है?
नहीं। JSON में ObjectId, तारीख या मनमाने byte string के मूल प्रकार नहीं हैं। ऐप परंपराएँ या Extended JSON अपनाते हैं, जिन पर दोनों पक्षों की सहमति होनी चाहिए।