पायथन लाइब्रेरी का उपयोग करके JSON ऑब्जेक्ट गुणों के क्रम को संरक्षित करना
पायथन ऑब्जेक्ट को JSON स्ट्रिंग में परिवर्तित करने के लिए json.dumps का उपयोग करते समय, आउटपुट JSON ऑब्जेक्ट में कुंजियों का क्रम इनपुट पायथन ऑब्जेक्ट में कुंजियों के मूल क्रम से असंगत हो सकता है। यदि एक विशिष्ट कुंजी क्रम की आवश्यकता होती है तो यह समस्याग्रस्त हो सकता है।
इस समस्या को हल करने के लिए, आप कुछ पायथन पुस्तकालयों का लाभ उठा सकते हैं जो JSON ऑब्जेक्ट में कुंजी क्रम बनाए रखने की सुविधाएं प्रदान करते हैं।
sort_keys पैरामीटर का उपयोग करना
एक सरल समाधान json.dumps के संयोजन में sort_keys पैरामीटर का उपयोग करना है। sort_keys को True पर सेट करने से, आउटपुट JSON ऑब्जेक्ट में कुंजियाँ आरोही वर्णमाला क्रम में क्रमबद्ध हो जाएंगी।
import json
json_string = json.dumps({'a': 1, 'b': 2}, sort_keys=True)
print(json_string) # Output: '{"a": 1, "b": 2}'
collections.OrderedDict का उपयोग करना
पर बेहतर नियंत्रण के लिए कुंजी क्रम, आप Collections.OrderedDict वर्ग का उपयोग कर सकते हैं। orderedDict कुंजी-मूल्य जोड़े के सम्मिलन क्रम को संरक्षित करता है, यह सुनिश्चित करता है कि परिणामी JSON ऑब्जेक्ट में कुंजी क्रम उस क्रम के समान है जिसमें कुंजी-मूल्य जोड़े को orderedDict में जोड़ा गया था।
from collections import OrderedDict
json_string = json.dumps(OrderedDict([('a', 1), ('b', 2)]))
print(json_string) # Output: '{"a": 1, "b": 2}'
इनपुट JSON में मुख्य ऑर्डर संरक्षित करना
यदि इनपुट है JSON प्रारूप में, आप एक फ़ंक्शन निर्दिष्ट करने के लिए json.loads में object_pairs_hook पैरामीटर का उपयोग कर सकते हैं जिसे JSON ऑब्जेक्ट में प्रत्येक कुंजी-मूल्य जोड़ी के लिए कॉल किया जाएगा। यह आपको कुंजी ऑर्डर को संरक्षित करने के लिए एक ऑर्डर्डडिक्ट बनाने की अनुमति देता है।
import json
json_string = '{"a": 1, "b": 2}'
parsed_json = json.loads(json_string, object_pairs_hook=OrderedDict)
print(parsed_json) # Output: OrderedDict([('a', 1), ('b', 2)])
इन तकनीकों का उपयोग करके, आप यह सुनिश्चित कर सकते हैं कि JSON ऑब्जेक्ट में गुणों का क्रम है आपके वांछित क्रम के अनुरूप, पायथन में JSON ऑब्जेक्ट पर अधिक लचीलापन और नियंत्रण प्रदान करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3