JSON क्या है?
JSON स्ट्रक्चर्ड डेटा स्टोर करने के लिए उपयोग किया जाने वाला एक लोकप्रिय डेटा फॉर्मेट है।
जब आप पायथन में एक एप्लिकेशन बना रहे होते हैं, तो आप तय कर सकते हैं कि आप अपने ऐप में JSON का उपयोग करना चाहते हैं। उदाहरण के लिए, आप JSON फ़ाइल से डेटा पढ़ना चाह सकते हैं, या JSON फॉर्मेट में स्टोर किए गए डेटा को फ़ाइल में लिखना चाह सकते हैं।
इस गाइड में, हम JSON डेटा फॉर्मेट की मूल बातें, पायथन json मॉड्यूल का उपयोग कैसे करें, और पायथन में JSON के साथ कैसे काम करें, इसे तोड़ने जा रहे हैं। इस ट्यूटोरियल को पढ़ने के अंत तक, आप अपने पायथन प्रोग्राम्स में JSON का उपयोग करने में विशेषज्ञ होंगे!
JSON क्या है?
JSON, जो JavaScript Object Notation का संक्षिप्त रूप है, एक डेटा फॉर्मेट है जो आपको स्ट्रक्चर्ड डेटा स्टोर करने की अनुमति देता है।
अक्सर, JSON का उपयोग वेब एप्लिकेशन में सर्वर से डेटा भेजने और प्राप्त करने के लिए किया जाता है। आपने देखा होगा, उदाहरण के लिए, कि कई APIs जैसे Fitbit API, या Google Maps API डेटा को JSON फॉर्मेट में लौटाते हैं।
ऐसा इसलिए है क्योंकि JSON डेटा मानकीकृत, स्ट्रक्चर्ड, और पढ़ने में आसान है।
पायथन में JSON रिकॉर्ड का एक उदाहरण यहाँ दिया गया है:
{
"name": "James Smith",
"id": 202,
"probation": false
}
यह रिकॉर्ड तीन कुंजियों को स्टोर करता है, जो कॉलन (:) के बाईं ओर हैं, और तीन मान, जो कॉलन के दाईं ओर स्टोर किए गए हैं। प्रत्येक कुंजी एक मान से बंधी होती है।
JSON डेटा फॉर्मेट को डिक्शनरी के साथ भ्रमित नहीं किया जाना चाहिए। हालांकि यह डिक्शनरी की तरह दिख सकता है, JSON एक डेटा फॉर्मेट है, जबकि डिक्शनरी एक डेटा संरचना है।
इसका मतलब है कि, यदि आप अपने JSON डेटा को डिक्शनरी में स्टोर करना चाहते हैं, तो आपको इसे डिक्शनरी में बदलना होगा; यदि आप डिक्शनरी को JSON के रूप में स्टोर करना चाहते हैं, तो आपको इसे JSON में बदलना होगा।
पायथन में json इंपोर्ट करें
इससे पहले कि आप पायथन में JSON ऑब्जेक्ट्स के साथ काम करना शुरू करें, आपको पायथन json मॉड्यूल आयात करना होगा। इस मॉड्यूल में कई फंक्शन्स शामिल हैं जो आपको JSON डेटा के साथ काम करने की अनुमति देते हैं।
JSON मॉड्यूल आयात करने के लिए, आप इस स्टेटमेंट का उपयोग कर सकते हैं:
import json
अब जब हमने JSON मॉड्यूल को अपने कोड में आयात कर लिया है, तो हम इसके फंक्शन्स के साथ काम करना शुरू कर सकते हैं।
पायथन में JSON पार्स करें
JSON डेटा के साथ काम करते समय आपको सबसे महत्वपूर्ण फंक्शन्स में से एक JSON को डिक्शनरी में पार्स करना होगा।
JSON को डिक्शनरी में पार्स करने के लिए, आप json.loads() मेथड का उपयोग कर सकते हैं।
json.loads() एक पैरामीटर स्वीकार करता है: वह JSON स्ट्रिंग जिसे आप डिक्शनरी में बदलना चाहते हैं।
मान लीजिए आपके पास एक JSON स्ट्रिंग है जो इंजीनियरिंग टीम पर एक कोडर को असाइन किए गए प्रोजेक्ट्स के बारे में जानकारी स्टोर करती है। आप उस JSON स्ट्रिंग को डिक्शनरी में बदलना चाहते हैं। ऐसा करने के लिए, आप इस कोड का उपयोग कर सकते हैं:
import json
employee = '{"name": "Linda Richardson", "projects": ["Directory", "Homepage"]}'
employee_dictionary = json.loads(employee)
print(employee_dictionary)
print(employee_dictionary["name"])
हमारा कोड लौटाता है:
{'name': 'Linda Richardson', 'projects': ['Directory', 'Homepage']}
Linda Richardson
आइए अपने कोड को समझते हैं। सबसे पहले, हम json मॉड्यूल को अपने कोड में आयात करते हैं। फिर, हम employee नामक एक स्ट्रिंग घोषित करते हैं जो हमारे कर्मचारी रिकॉर्ड को JSON संरचना में स्टोर करती है।
अगला, हम अपने employee स्ट्रिंग को JSON में बदलने के लिए json.loads() का उपयोग करते हैं। फिर, हम अपनी नई डिक्शनरी को कंसोल पर प्रिंट करते हैं। हम name कुंजी के मान को कंसोल पर भी प्रिंट करते हैं।
जैसा कि आप देख सकते हैं, हमारी डिक्शनरी हमारी JSON स्ट्रिंग जैसी ही दिखती है। लेकिन, अब हमारा डेटा डिक्शनरी के रूप में स्टोर है। हम बता सकते हैं क्योंकि, जब हम "name" कुंजी का मान प्रिंट करते हैं, तो "Linda Richardson" कंसोल पर प्रिंट होता है।
डिक्शनरी को JSON स्ट्रिंग में बदलें
जब आप डिक्शनरी के साथ काम कर रहे होते हैं, तो आप इसे JSON स्ट्रिंग में बदलना चाह सकते हैं।
यह एक सामान्य ऑपरेशन है क्योंकि, जब आप JSON मान को फ़ाइल में सेव करते हैं, तो इसे स्ट्रिंग के रूप में फॉर्मेट करने की आवश्यकता होती है। डिक्शनरी को JSON में बदलने के लिए, हम json.dumps() मेथड का उपयोग कर सकते हैं।
मान लीजिए हम कर्मचारी के बारे में जानकारी वाली डिक्शनरी को JSON स्ट्रिंग में बदलना चाहते हैं। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:
import json
employee = {
"name": "Linda Richardson",
"id": 107,
"probation": false,
"department": "Sales"
}
employee_json = json.dumps(employee)
print(employee_json)
हमारा कोड लौटाता है:
'{"name": "Linda Richardson", "id": 107, "probation": false, "department": "Sales"}'
जबकि हमारे कोड का आउटपुट हमारी मूल डिक्शनरी जैसा दिख सकता है, हमारी डिक्शनरी अब स्ट्रिंग के रूप में स्टोर है।
JSON स्ट्रिंग को फॉर्मेट करना
json.dumps() मेथड कुछ पैरामीटर्स के साथ आता है जिनका उपयोग आप फाइनल स्ट्रिंग को पढ़ना आसान बनाने के लिए कर सकते हैं जिसे मेथड द्वारा बनाया गया है।
indent पैरामीटर आपको फाइनल JSON स्ट्रिंग में दिखाई देने वाले इंडेंट्स की संख्या को परिभाषित करने की अनुमति देता है। मान लीजिए आप अपने JSON स्ट्रिंग में प्रत्येक लाइन पर चार इंडेंट्स जोड़ना चाहते हैं। आप निम्न json.dumps() स्टेटमेंट का उपयोग करके ऐसा कर सकते हैं:
employee_json = json.dumps(employee, indent=4)
यह स्टेटमेंट, जब हमारे पिछले उदाहरण के साथ संयुक्त होता है, तो लौटाएगा:
{
"name": "Linda Richardson",
"id": 107,
"probation": false,
"department": "Sales"
}
आप JSON स्ट्रिंग में डेटा के सेपरेटर्स भी बदल सकते हैं। सेपरेटर्स के लिए डिफ़ॉल्ट मान ", " और ": " हैं, जिसका अर्थ है कि प्रत्येक ऑब्जेक्ट को कॉमा का उपयोग करके अलग किया जाएगा, और प्रत्येक कुंजी और मान को कॉलन का उपयोग करके अलग किया जाएगा।
मान लीजिए हम चाहते हैं कि हमारी कुंजियों और मानों को बराबर चिह्न (=) का उपयोग करके अलग किया जाए, और हम 4 का इंडेंट उपयोग करना चाहते हैं। हम निम्न स्टेटमेंट का उपयोग करके ऐसा कर सकते हैं:
employee_json = json.dumps(employee, indent=4, separators=(", ", " = "))
हमारा कोड लौटाता है:
{
"name" = "Linda Richardson",
"id" = 107,
"probation" = false,
"department" = "Sales"
}
जैसा कि आप देख सकते हैं, हमारे JSON स्ट्रिंग में हर कुंजी और मान अब बराबर चिह्न का उपयोग करके अलग किया गया है।
JSON फ़ाइल पढ़ें
पायथन में JSON फ़ाइल पढ़ने के लिए, आप json.load() का उपयोग कर सकते हैं। यह मेथड एक पैरामीटर स्वीकार करता है: वह फ़ाइल ऑब्जेक्ट जिसे आप अपने प्रोग्राम में पढ़ना चाहते हैं।
मान लीजिए हमारे पास employee.json नामक एक फ़ाइल है जिसे हम अपने प्रोग्राम में लोड करना चाहते हैं। इस फ़ाइल की सामग्री निम्नलिखित है:
{"name": "Linda Richardson", "id": 107, "probation": false}
हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:
import json
with open('employee.json') as final_file:
employee = json.load(final_file)
print(employee)
हमारा कोड लौटाता है:
{"name": "Linda Richardson", "id": 107, "probation": false}
इस कोड में, हम पहले json लाइब्रेरी आयात करते हैं। फिर, हम अपने employee.json फ़ाइल को पढ़ने के लिए with स्टेटमेंट का उपयोग करते हैं। हम json.load() मेथड का उपयोग अपने फ़ाइल की सामग्री को, जो file वेरिएबल में स्टोर है, डिक्शनरी में बदलने के लिए करते हैं। फिर, हम अपनी डिक्शनरी का मान प्रिंट करते हैं।
JSON को फ़ाइल में लिखें
आप पायथन में JSON को फ़ाइल में लिखने के लिए json.dump() मेथड का उपयोग कर सकते हैं।
json.dump() मेथड दो पैरामीटर्स स्वीकार करता है: वह डिक्शनरी जिसे आप फ़ाइल में लिखना चाहते हैं, और वह फ़ाइल ऑब्जेक्ट जिसे आप अपनी डिक्शनरी लिखना चाहते हैं।
मान लीजिए हम अपने कर्मचारी के रिकॉर्ड को फ़ाइल में JSON मान के रूप में सेव करना चाहते हैं। इस फ़ाइल का नाम linda_employee.json होना चाहिए। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:
import json
employee = {
"name": "Linda Richardson",
"id": 107,
"probation": false,
"department": "Sales"
}
with open('linda_employee.json', 'w') as final_file:
json.dump(employee, final_file)
आइए अपने कोड को समझते हैं। सबसे पहले, हम json मॉड्यूल को अपने प्रोग्राम में आयात करते हैं। फिर, हम एक वेरिएबल घोषित करते हैं जो लिंडा रिचर्डसन नामक कर्मचारी के बारे में जानकारी को डिक्शनरी संरचना में स्टोर करता है।
अगला, हम "w" फ्लैग के साथ "with" स्टेटमेंट का उपयोग linda_employee.json नामक फ़ाइल को तैयार करने के लिए करते हैं जिसमें हम लिख सकते हैं। फिर हम json.dump() का उपयोग अपने employee डिक्शनरी को JSON स्ट्रिंग में बदलने और इसे हमारे final_file ऑब्जेक्ट में सेव करने के लिए करते हैं।
जब यह प्रोग्राम चलाया जाता है, तो हमारे employee डिक्शनरी की सामग्री linda_employee.json फ़ाइल में लिखी जाती है। इस फ़ाइल की अंतिम सामग्री है:
{"name": "Linda Richardson", "id": 107, "probation": false, "department": "Sales"}
निष्कर्ष
पायथन json मॉड्यूल आपको JSON डेटा पढ़ने और मैनिपुलेट करने की अनुमति देता है।
json मॉड्यूल का उपयोग करके, आप:
- फ़ाइल से JSON पढ़ें
- डिक्शनरी को JSON में बदलें
- JSON को डिक्शनरी में बदलें
- JSON स्ट्रिंग को फ़ाइल में लिखें
इस ट्यूटोरियल में, हमने json मॉड्यूल का उपयोग करके इन सभी ऑपरेशन्स को करने का तरीका बताया। अब आप अपने पायथन प्रोग्राम्स में JSON डेटा के साथ एक पेशेवर की तरह काम करना शुरू करने के लिए तैयार हैं!