Python Academy · पाठ

नेस्टेड JSON संरचनाएँ संभालना

जटिल नेस्टेड JSON ऑब्जेक्ट में नेविगेट करें और उन्हें रूपांतरित करें।

पाठ 2, कुल 4 में से14 चरण

नेस्टेड JSON संरचनाएँ संभालना, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

परिचय

वास्तविक जीवन का JSON गहराई से नेस्ट किया हुआ होता है। नेस्ट की गई संरचनाओं को नेविगेट करना, रूपांतरित करना और मान्य करना जानना आवश्यक है।

नेस्ट की गई कुंजियों तक पहुँचना

data['user']['address']['city'] नेस्ट किए गए dicts में रास्ता बनाता है। अनुपस्थित कुंजियों को संभालने के लिए हर स्तर पर .get() का उपयोग कीजिए।
import json
data = {'user': {'address': {'city': 'NYC', 'zip': '10001'}}}
print(data['user']['address']['city'])

सुरक्षित नेस्टेड पहुँच

data.get('user', {}).get('address', {}).get('city') सुरक्षित रूप से .get() कॉल की श्रृंखला बनाता है।
data = {'user': {'name': 'Alice'}}
city = data.get('user', {}).get('address', {}).get('city', 'unknown')
print(city)

ऑब्जेक्ट के ऐरे पर पुनरावृत्ति

ऑब्जेक्ट के JSON ऐरे, dicts की सूचियाँ होते हैं। for लूप से उन पर पुनरावृत्ति कीजिए।
import json
data = json.loads('[{"name":"Alice"},{"name":"Bob"}]')
for user in data:
    print(user['name'])

नेस्टेड JSON को समतल करना

नेस्ट किए गए dicts को डॉट वाली कुंजियों के साथ एक सपाट dict में बदलने के लिए पुनरावर्ती फ़ंक्शन लिखिए।
def flatten(d, prefix=''):
    result = {}
    for k, v in d.items():
        key = f'{prefix}.{k}' if prefix else k
        if isinstance(v, dict):
            result.update(flatten(v, key))
        else:
            result[key] = v
    return result
print(flatten({'a': {'b': {'c': 1}}, 'd': 2}))

ऐरे को फ़िल्टर करना

[user for user in data if user.get('active')] किसी शर्त के आधार पर JSON ऐरे को फ़िल्टर करता है।
data = [{'name':'A','active':True},{'name':'B','active':False}]
active = [u for u in data if u.get('active')]
print(active)

नेस्टेड डेटा रूपांतरित करना

हर नेस्टेड ऑब्जेक्ट से कोई फ़ील्ड निकालिए: [item['name'] for item in data]
data = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
names = [d['name'] for d in data]
print(names)

jsonschema से स्कीमा सत्यापन

pip install jsonschema। अमान्य डेटा पर jsonschema.validate(instance, schema) ValidationError उत्पन्न करता है।
# from jsonschema import validate
# schema = {'type':'object','required':['name']}
# validate({'name':'Alice'}, schema)  # OK
# validate({}, schema)  # raises ValidationError
print('schema validation demo')

नेस्ट किए गए dicts को गहराई से अपडेट करना

shallow dict.update() नेस्ट किए गए dicts को मर्ज नहीं करता। नेस्टेड मर्जिंग के लिए पुनरावर्ती deep_update लिखिए।
def deep_update(base, override):
    for k, v in override.items():
        if isinstance(v, dict) and isinstance(base.get(k), dict):
            deep_update(base[k], v)
        else:
            base[k] = v
    return base
result = deep_update({'a': {'x': 1}}, {'a': {'y': 2}})
print(result)

Python के साथ jq-शैली की क्वेरी

जटिल क्वेरी के लिए jq लाइब्रेरी या कस्टम पुनरावर्ती खोज का उपयोग करें: find_all(data, 'key').
def find_all(obj, key):
    if isinstance(obj, dict):
        if key in obj: yield obj[key]
        for v in obj.values(): yield from find_all(v, key)
    elif isinstance(obj, list):
        for item in obj: yield from find_all(item, key)
data = {'a': {'name': 'x'}, 'b': [{'name': 'y'}]}
print(list(find_all(data, 'name')))

NDJSON में क्रमबद्ध करना

नई पंक्ति से अलग किया गया JSON (NDJSON): प्रत्येक पंक्ति में एक JSON ऑब्जेक्ट। json.dumps(obj) + '\n' से लिखें।
import json
objects = [{'id': 1}, {'id': 2}, {'id': 3}]
ndjson = '\n'.join(json.dumps(o) for o in objects)
print(ndjson)

त्वरित जाँच

जब 'key' मौजूद न हो, तब data.get('key', {}).get('nested') क्या लौटाता है?

पुनरावृत्ति

नेस्टेड JSON: सुरक्षित पहुँच के लिए .get() को श्रृंखला में उपयोग करें। ऐरे पर for से पुनरावृत्ति करें। पुनरावर्तन से समतल करें। सूची समावेशन से फ़िल्टर करें। सत्यापन के लिए jsonschema का उपयोग करें।

आगे बढ़ते रहें

इसी तरह अच्छा करते रहें! अगले पाठ पर जाएँ।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “नेस्टेड JSON संरचनाएँ संभालना” पाठ निःशुल्क है?

हाँ—“नेस्टेड JSON संरचनाएँ संभालना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“नेस्टेड JSON संरचनाएँ संभालना” में मैं क्या सीखूँगा?

जटिल नेस्टेड JSON ऑब्जेक्ट में नेविगेट करें और उन्हें रूपांतरित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“नेस्टेड JSON संरचनाएँ संभालना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. JSON एन्कोडिंग और डिकोडिंग
  2. नेस्टेड JSON संरचनाएँ संभालना
  3. csv.reader से CSV पढ़ना
  4. csv.DictWriter से CSV लिखना
← Python Academy पर वापस जाएँ