उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
सीरियलाइज़ेशन-मॉड्यूल्स
JSON मॉड्यूल
उद्देश्य
सेवा स्टेशन पर जाएँ और जांचें कि डेटा ठीक से स्टोर हुआ है, JSON मॉड्यूल का उपयोग करके फाइलों को फॉर्मेट करें।
नई निर्माण क्षेत्र में एनैक्स भवन के दक्षिण में एक सेवा स्टेशन है, इस पूरे क्षेत्र को फसलें लगाने के लिए पुनर्विकसित किया जा रहा है। स्टेशन में नए विकास के लिए डेटा प्रोसेस करने वाले विभिन्न टर्मिनल्स हैं, हम डेटा मैनुअली लिख सकते हैं, लेकिन इससे बहुत समय लगेगा। डेटा हैंडलिंग की प्रक्रिया के लिए हम JSON (जो कि JavaScript Object Notation के लिए खड़ा है) का उपयोग कर सकते हैं, यह एक ऐसा डेटा फॉर्मेट है जो प्रोग्रामिंग भाषाओं से स्वतंत्र है और सूचना को आसानी से पढ़ने योग्य तरीके से स्टोर और ट्रांसमिट करता है।
Python के साथ JSON का उपयोग करने के लिए हम import json का उपयोग कर सकते हैं, जिससे हमें JSON फंक्शन्स तक पहुंच मिल जाती है। हमारे प्रयोजनों के लिए हम निम्नलिखित फंक्शन्स का उपयोग करेंगे:
json.loads(): JSON स्ट्रिंग को Python डेटा में कन्वर्ट करता है, यह एक आर्गुमेंट लेता है, जो कि वह स्ट्रिंग है जिसे आप Python में पार्स करना चाहते हैं।json.dumps(): Python डेटा को JSON स्ट्रिंग ऑब्जेक्ट में कन्वर्ट करता है, यह फंक्शन चार(4) तक आर्गुमेंट ले सकता है, सिर्फ पहला आर्गुमेंट फंक्शन का उपयोग करने के लिए आवश्यक है। ये इस प्रकार हैं:- वह Python डेटा जिसे आप JSON में कन्वर्ट करना चाहते हैं: ये निम्नलिखित डेटा प्रकार हो सकते हैं: dictionaries, lists, tuples, string, integer, float, boolean, और None डेटा प्रकार।
indent: उन spaces की संख्या जो आप डेटा पॉइंट की शुरुआत में जोड़ना चाहते हैंseparators: ये वे हिस्से हैं जो आप डेटा पॉइंट्स के बीच और/या अंत में दिखाना चाहते हैं।sort_keys: यदि आप dictionary फाइल टाइप को कन्वर्ट कर रहे हैं तो dictionary keys को वर्णमाला के क्रम में क्रमबद्ध करता है।
शुरू करने के लिए, आउटपोस्ट में बाएं तरफ स्थित सुनहरे X मार्क पर जाएँ और मेमो के साथ डेस्क का सामना करें। टर्मिनल की स्थिति की पुष्टि के लिए आवश्यक जानकारी सत्यापित करने हेतु read() फंक्शन का उपयोग करें और नोट करें। टर्मिनल के सामने हल्के X मार्क तक जाएँ, वहाँ एक constant है जिसका नाम transmission है, इसे JSON के रूप में कन्वर्ट करने के लिए json.dumps() का उपयोग करें, इस प्रकार: transmission = json.dumps(transmission) ।
एक dictionary बनाएं जिसका नाम load हो और json.loads() में transmission constant को आर्गुमेंट के रूप में देकर उसके मान को स्टोर करें। इससे JSON Python में कन्वर्ट हो जाएगा ताकि इसकी जानकारी आसानी से एक्सेस की जा सके। speak() फंक्शन का उपयोग करें मेमो में उल्लिखित keys के साथ और आपने जो load dictionary बनाई है, उसका उपयोग करें। उदाहरण के लिए: player.speak(load["system"]) , सभी keys के लिए ऐसा ही करें।
टर्मिनल पर जानकारी की जांच के बाद स्टेशन की ओर चलें, अंदर जाएँ और हरे कालीन पर स्थित हल्के X मार्क की ओर बढ़ें। read() फंक्शन का उपयोग करके मेमो की जांच करें, मानों की जांच करें और नोट करें, एडिटर में एक प्री-रिटन dictionary है जिसका नाम profile है, मेमो में दी गई जानकारी के साथ गायब मानों को भरें।
हरे कालीन पर स्थित गहरे X मार्क की ओर जाएँ, टर्मिनल का सामना करें और एक वेरिएबल बनाएं जिसका नाम transfer हो और json.dumps() का मान स्टोर करें तथा इसमें केवल profile dictionary को आर्गुमेंट के रूप में जोड़ें। इससे dictionary JSON स्ट्रिंग ऑब्जेक्ट में कन्वर्ट हो जाएगा। प्री-लिखित display() फंक्शन का उपयोग करें और transfer JSON को जोड़ें ताकि टर्मिनल में डेटा स्टोर हो सके।
लाल कालीन पर स्थित गहरे X मार्क की ओर जाएँ और read() फंक्शन का उपयोग करके टर्मिनल में पहले से दर्ज डेटा को सत्यापित करें। डेटा सही फॉर्मेट में प्रस्तुत नहीं किया गया है, जानकारी को ठीक से स्टोर करने के लिए इसे JSON में स्टोर और फॉर्मेट करना आवश्यक है। डेटा एक dictionary constant में स्टोर है जिसका नाम red_data है, एक वेरिएबल बनाएं जिसका नाम red_storage हो और json.dumps() फंक्शन का मान स्टोर करें।
डेटा को फॉर्मेट करने के लिए, फंक्शन में निम्नलिखित आर्गुमेंट जोड़ें: red_data को जोड़ें ताकि constant JSON में कन्वर्ट हो सके, indent जोड़ें और इसे 5 पर सेट करें ताकि टेक्स्ट फॉर्मेट हो सके, separators जोड़ें और ("- ", " = ") जोड़ें ताकि इन प्रतीकों को प्रत्येक पंक्ति के अंत में जोड़ा जा सके। पंक्ति इस प्रकार दिखनी चाहिए: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")) . प्री-लिखित display() का उपयोग करें और red_storage JSON स्ट्रिंग जोड़ें ताकि फॉर्मेटेड डेटा स्टोर और प्रदर्शित हो सके।
नीले कालीन पर स्थित गहरे X मार्क की ओर जाएँ, टर्मिनल का सामना करें और read() फंक्शन का उपयोग करें, जैसा कि पहले था डेटा ठीक से स्टोर नहीं किया गया है और इसे फॉर्मेट करने की आवश्यकता है, साथ ही इसे सॉर्ट भी करना है। डेटा एक constant में स्टोर है जिसका नाम blue_data है, एक वेरिएबल बनाएं जिसका नाम blue_storage हो और json.dumps() फंक्शन का मान स्टोर करें।
आर्गुमेंट्स के लिए: blue_data जोड़ें ताकि constant JSON में कन्वर्ट हो सके, indent जोड़ें और इसे 4 पर सेट करें ताकि टेक्स्ट फॉर्मेट हो सके, separators जोड़ें और (".0", " = ") जोड़ें ताकि इन प्रतीकों को प्रत्येक पंक्ति के अंत में जोड़ा जा सके। इनके अतिरिक्त अंतिम आर्गुमेंट के रूप में sort_keys जोड़ें और इसे True पर सेट करें, इस प्रकार: sort_keys=True . प्री-लिखित display() का उपयोग करें और blue_storage JSON स्ट्रिंग जोड़ें ताकि सॉर्टेड डेटा स्टोर और प्रदर्शित हो सके और लेवल को पूरा किया जा सके।