Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में JSON फॉर्मेटिंग


JSON (जावा स्क्रिप्ट ऑब्जेक्ट नोटेशन) हल्का, अच्छी तरह से स्वीकृत डेटा इंटरचेंज फॉर्मेट है। पायथन में JSON फॉर्मेटिंग तकनीकों का उपयोग करके, हम JSON स्ट्रिंग्स को पायथन ऑब्जेक्ट्स में बदल सकते हैं, और पायथन ऑब्जेक्ट्स को JSON स्ट्रिंग्स में भी बदल सकते हैं।

इन कार्यक्षमताओं का उपयोग करने के लिए, हमें पायथन के json मॉड्यूल का उपयोग करने की आवश्यकता है। json मॉड्यूल पायथन स्टैंडर्ड लाइब्रेरी के साथ आता है। इसलिए सबसे पहले हमें इसे इम्पोर्ट करना होगा।

import json

पायथन ऑब्जेक्ट्स को JSON स्ट्रिंग में बदलना

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

उदाहरण कोड

import json
from io import StringIO
str_io_obj = StringIO()
# StringIO बनाने के लिए JSON Dump का उपयोग
json.dump(["India", "Australia", "Brazil"], str_io_obj)
print('StringIO Object value: ' + str(str_io_obj.getvalue()))
my_json = {
    "name": "Kalyan",
    "age": 25,
    "city": 'Delhi'
}
print(json.dumps(my_json, indent=4))

आउटपुट

StringIO Object value: ["India", "Australia", "Brazil"]
{
    "name": "Kalyan",
    "age": 25,
    "city": "Delhi"
}

JSON स्ट्रिंग्स को पायथन ऑब्जेक्ट्स में बदलना

इस मामले में हम JSON स्ट्रिंग्स को डी-सीरियलाइज़ कर रहे हैं। दो अलग-अलग मेथड हैं। ये load() और loads() हैं। ये दोनों मेथड JSON फ़ाइल को तर्क के रूप में लेते हैं। load() फ़ाइल ऑब्जेक्ट्स डेटा से पायथन ऑब्जेक्ट्स में बदलता है, और loads() स्ट्रिंग टाइप डेटा से बदलता है।

उदाहरण कोड

import json
from io import StringIO
str_io_obj = StringIO('["xyz", "abc", "xyz", "pqr"]')
# StringIO से लोड
print('Load: ' + str(json.load(str_io_obj)))
print('String to Json: ' + str(json.loads('{"xyz": 1, "abc": 2, "xyz": 3, "pqr": 4}')))

आउटपुट

Load: ['xyz', 'abc', 'xyz', 'pqr']
String to Json: {'xyz': 3, 'abc': 2, 'pqr': 4}

पायथन में JSON एनकोडर और डिकोडर क्लासेस

JSONEncoder क्लास का उपयोग पायथन ऑब्जेक्ट्स को JSON फॉर्मेट में बदलने के लिए किया जाता है। यहाँ इस उदाहरण में हम देखेंगे कि एक कॉम्प्लेक्स नंबर ऑब्जेक्ट को JSONEncoder का उपयोग करके JSON टाइप ऑब्जेक्ट में कैसे बदला जा सकता है।

उदाहरण कोड

import json
class Comp_Encoder(json.JSONEncoder):
    def default(self, comp_obj):
        if isinstance(comp_obj, complex):
            return [comp_obj.real, comp_obj.imag]
        return json.JSONEncoder.default(self, comp_obj)
print(json.dumps(5+8j, cls=Comp_Encoder))

आउटपुट

[5.0, 8.0]

JSONDecoder क्लास रिवर्स एक्शन करती है।

उदाहरण कोड

import json
my_str = '{"Asim": 25, "Priyesh": 23, "Asim": "28"}'
# JSONDecoder का उपयोग करके JSON डिकोड करें
print(json.JSONDecoder().decode(my_str))
print(json.JSONDecoder().raw_decode(my_str))

आउटपुट

{'Asim': '28', 'Priyesh': 23}
({'Asim': '28', 'Priyesh': 23}, 44)

  1. - पायथन का उपयोग करके JSON आउटपुट कैसे जनरेट करें?

    पायथन में json मॉड्यूल आपको डिक्शनरी को सीधे JSON फॉर्मेट में डंप करने की अनुमति देता है। इसका उपयोग करने के लिए: उदाहरण import json my_dict = { foo: 42, bar: { baz: Hello, poo: 124.2 } } my_json = json.dumps(my_dict) print(my_json) आउटपुट यह आउटपुट देगा: {foo: 42, bar:

  1. - Python का उपयोग करके String को JSON में Convert कैसे करें?

    JSON String को Dictionary में Convert करना JSON String को Dictionary में Convert करने के लिए json.loads() का उपयोग करें। यह Method Valid JSON String Accept करता है और Dictionary Return करता है जिसमें आप सभी Elements Access कर सकते हैं। उदाहरण >>> import json >>> s = {success: tru

  1. - Python में JSON पार्सिंग में महारत: चरण-दर-चरण गाइड

    Python में JSON कैसे पार्स करें। पहले हम json.load() मेथड का उपयोग करके JSON फ़ाइल लोड करते हैं। परिणाम एक Python डिक्शनरी है। हम फिर डिक्शनरी मेथड्स का उपयोग करके फ़ील्ड्स तक पहुंच सकते हैं। JSON एक हल्का डेटा-इंटरचेंज फॉर्मेट है। JSON फ़ाइल या JSON रिस्पॉन्स से जानकारी निकालने के लिए, हमें डेटा को