पायथन जॉन्सन: पढ़ें, लिखें, पार्स जेन्सन (उदाहरणों के साथ)

इस ट्यूटोरियल में, आप उदाहरणों की मदद से पाइथन में JSON को पार्स करना, पढ़ना और लिखना सीखेंगे। इसके अलावा, आप JSON को तानाशाही में बदलना और इसे प्रिंट करना सीखेंगे।

JSON ( J ava S cript O bject N otation ) संरचित डेटा का प्रतिनिधित्व करने के लिए उपयोग किया जाने वाला एक लोकप्रिय डेटा प्रारूप है। JSON प्रारूप में सर्वर और वेब एप्लिकेशन के बीच डेटा संचारित और प्राप्त करना आम है।

पायथन में, JSON एक स्ट्रिंग के रूप में मौजूद है। उदाहरण के लिए:

 p = '("name": "Bob", "languages": ("Python", "Java"))' 

किसी फ़ाइल में JSON ऑब्जेक्ट को संग्रहीत करना भी सामान्य है।

आयात json मॉड्यूल

JSON (स्ट्रिंग, या JSON ऑब्जेक्ट वाली फ़ाइल) के साथ काम करने के लिए, आप पायथन के jsonमॉड्यूल का उपयोग कर सकते हैं । उपयोग करने से पहले आपको मॉड्यूल आयात करना होगा।

 import json

पाइथन में पार्स जेन्सन

jsonमॉड्यूल आसान JSON तार और JSON ऑब्जेक्ट युक्त फ़ाइलों को पार्स करने में आता है।

उदाहरण 1: अजगर जॉनसन को तानाशाही करना

आप json.loads()विधि का उपयोग करके JSON स्ट्रिंग को पार्स कर सकते हैं । विधि एक शब्दकोश देता है।

 import json person = '("name": "Bob", "languages": ("English", "Fench"))' person_dict = json.loads(person) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print( person_dict) # Output: ('English', 'French') print(person_dict('languages'))

यहाँ, व्यक्ति JSON स्ट्रिंग है, और person_dict एक शब्दकोश है।

उदाहरण 2: पायथन ने JSON फ़ाइल पढ़ी

आप json.load()JSON ऑब्जेक्ट वाली फ़ाइल को पढ़ने के लिए विधि का उपयोग कर सकते हैं ।

मान लीजिए, आपके पास एक फ़ाइल है जिसका नाम person.jsonJSON ऑब्जेक्ट है।

  ("name": "Bob", "languages": ("English", "Fench") ) 

यहां बताया गया है कि आप इस फाइल को पार्स कैसे कर सकते हैं:

  import json with open('path_to_file/person.json') as f: data = json.load(f) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print(data) 

यहां, हमने open()json फाइल को पढ़ने के लिए फ़ंक्शन का उपयोग किया है । फिर, फ़ाइल को json.load()विधि का उपयोग करके पार्स किया जाता है जो हमें डेटा नाम का एक शब्दकोश देता है।

यदि आप पायथन में फ़ाइलों को पढ़ना और लिखना नहीं जानते हैं, तो हम आपको पायथन फाइल I / O की जांच करने की सलाह देते हैं।

पायथन कन्वर्ट करने के लिए JSON स्ट्रिंग

आप json.dumps()विधि का उपयोग करके एक शब्दकोश को JSON स्ट्रिंग में बदल सकते हैं ।

उदाहरण 3: JSON के लिए प्रमुख रूपांतरित करें

  import json person_dict = ('name': 'Bob', 'age': 12, 'children': None ) person_json = json.dumps(person_dict) # Output: ("name": "Bob", "age": 12, "children": null) print(person_json) 

यहां पाइथन ऑब्जेक्ट्स और JSON के उनके समान रूपांतरण को दर्शाने वाली एक तालिका है।

अजगर JSON समतुल्य
dict वस्तु
list, tuple सरणी
str तार
int, float,int संख्या
True सच
False असत्य
None अमान्य

JSON को किसी फ़ाइल में लिखना

पायसन में एक फाइल पर JSON लिखने के लिए, हम json.dump()विधि का उपयोग कर सकते हैं ।

उदाहरण 4: JSON को किसी फ़ाइल में लिखना

  import json person_dict = ("name": "Bob", "languages": ("English", "Fench"), "married": True, "age": 32 ) with open('person.txt', 'w') as json_file: json.dump(person_dict, json_file) 

उपरोक्त कार्यक्रम में, हमने person.txtलेखन मोड में नाम से एक फ़ाइल खोली है 'w'। यदि फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाया जाएगा। फिर, एक JSON स्ट्रिंग में json.dump()बदल person_dictदेता है जिसे person.txtफ़ाइल में सहेजा जाएगा ।

जब आप प्रोग्राम चलाते हैं, तो person.txtफ़ाइल बनाई जाएगी। फ़ाइल के अंदर पाठ है।

 ("name": "Bob", "languages": ("English", "Fench"), "married": true, "age": 32)

पायथन सुंदर प्रिंट JSON

JSON डेटा का विश्लेषण और डीबग करने के लिए, हमें इसे अधिक पठनीय प्रारूप में प्रिंट करने की आवश्यकता हो सकती है। यह अतिरिक्त मापदंडों indentऔर और विधि sort_keysको पारित करके किया जा सकता है ।json.dumps()json.dump()

उदाहरण 5: पायथन सुंदर प्रिंट JSON

  import json person_string = '("name": "Bob", "languages": "English", "numbers": (2, 1.6, null))' # Getting dictionary person_dict = json.loads(person_string) # Pretty Printing JSON string back print(json.dumps(person_dict, indent = 4, sort_keys=True)) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 ("भाषाएँ": "अंग्रेजी", "नाम": "बॉब", "संख्या": (2, 1.6, अशक्त) 

उपरोक्त कार्यक्रम में, हमने 4इंडेंटेशन के लिए रिक्त स्थान का उपयोग किया है । और, चाबियाँ आरोही क्रम में क्रमबद्ध हैं।

वैसे, इंडेंट का डिफ़ॉल्ट मूल्य है None। और, Sort_keys का डिफ़ॉल्ट मान है False

अनुशंसित रीडिंग:

  • पायथन जॉन्सन को सीएसवी और इसके विपरीत
  • पायथन एक्सएमएल से JSON और इसके विपरीत
  • पायथन सिंपलसन

दिलचस्प लेख...