Theory
एक Record, दो Costumes
वही Garba Night, दोनों तरह dressed:
<event>
<name>Garba Night</name>
<seats>350</seats>
</event>
{ "name": "Garba Night", "seats": 350 }
वही facts, वही nesting, visibly अलग weight। "JSON और XML compare कीजिए" इस paper में सबसे reliably पूछे जाने वाले questions में से है, और यह BOTH halves चाहता है: 2 formats क्या share करते हैं, और कहाँ अलग होते हैं।
Theory
Similarities (वह Half जो Students भूल जाते हैं)
दोनों formats:
- self-describing हैं: names data के साथ travel करते हैं (
seats, चाहे tagged हो या quoted) - hierarchical हैं: values, values के अंदर nest होती हैं, tree-shaped
- plain text हैं: humans और हर platform से readable
- language-independent हैं: parsers हर जगह exist करते हैं
- AJAX-compatible हैं: Unit 4 का XMLHttpRequest दोनों को equal ease से fetch करता है
Exam craft: एक compare question similarities paragraph को भी score करता है; सिर्फ़ differences लिखना वे marks forfeit करता है।
At a glance
Differences (Rows की तरह सीखिए)
| Aspect | XML | JSON |
|---|---|---|
| End Tags | हर element close होता है: </name> | कोई नहीं: braces और brackets |
| Size | Same data के लिए Heavier | Lighter, कम bandwidth |
| Arrays | कोई native arrays नहीं: elements repeat करें | Native: [ ... ] |
| JS में Parsing | एक DOM में, फिर इसे walk कीजिए | एक JSON.parse से ready objects |
| Extras | Attributes, namespaces, comments | सिर्फ़ Data: इनमें से कुछ नहीं |
| Validation | DTD/schema standards | Schema tooling exist करता है, कम central |
Practical
पूरा Fest, दोनों तरीकों से (Ceremony गिनिए)
<!-- XML: 2 events -->
<events>
<event id="1">
<name>Garba Night</name>
<seats>350</seats>
</event>
<event id="2">
<name>Coding Contest</name>
<seats>60</seats>
</event>
</events>
// JSON: the same 2 events
{
"events": [
{ "id": 1, "name": "Garba Night", "seats": 350 },
{ "id": 2, "name": "Coding Contest", "seats": 60 }
]
}
This example runs in Gri-Learn on the web, where you can edit it and see the output.
Quiz
FestConnect के app को events की LIST एक ordered collection की तरह चाहिए जिसे यह indexes से loop कर सके। यहाँ कौन सा format difference सबसे ज़्यादा matter करता है?
- JSON strings double quotes इस्तेमाल करती हैं जबकि XML text को किसी की ज़रूरत नहीं
- JSON के पास native arrays हैं; XML को list repeated <event> elements की तरह represent करना पड़ता है
- XML case-sensitive है जबकि JSON नहीं है
- JSON files हमेशा 1 KB से छोटी होती हैं
Show the answer
JSON के पास native arrays हैं; XML को list repeated <event> elements की तरह represent करना पड़ता है
एक ordered, indexable list exactly वही है जो JSON की [ ] natively देती है: parsing के बाद, data.events[1] दूसरा event है, और आपका जाना-पहचाना हर loop apply होता है। XML same idea सिर्फ़ convention से express करता है (कई sibling <event> elements), जिसे consuming code को खुद gather और order करना पड़ता है। Option A यहाँ true है पर cosmetic है। Option C half-invented है: JSON string comparisons भी case-sensitive हैं; case rules XML की Unit 1 story थीं। Option D एक tendency (lighter) को एक fake guarantee में बदल देता है। Difference को NEED से match कीजिए: comparison marks इसी तरह earn होते हैं।
Think first
तो XML अभी भी Exist क्यों करता है?
अगर JSON lighter, array-native और parse-friendly है, XML vanish क्यों नहीं हुआ? Tap करने से पहले, अपने ही coursework से 2 domains नाम दीजिए जहाँ XML सही या required tool बना हुआ है।
Show the answer
Android (BCA305-02): हर layout और manifest XML है, attributes और namespaces (android:layout_width) पर lean करते हुए, जो JSON के पास simply नहीं है। Established Document Standards: RSS feeds, SVG graphics, office documents: ecosystems जो XML के document features और schema validation पर built हैं, कोई migration नज़र में नहीं। XML comments और mixed text-plus-markup भी gracefully carry करता है: यह एक DOCUMENT format है जो data hold कर सकता है; JSON एक DATA format है, full stop। Exam-worthy conclusion: APIs और JS apps के लिए JSON, जहाँ attributes, namespaces, validation या standards rule करते हैं वहाँ XML: tools, rivals नहीं।
Watch out
Comparison-Answer Traps
"JSON ने XML को replace कर दिया": overstatement; इसे web APIs तक scope कीजिए और आप accurate हैं।
"XML एक programming language है": कोई भी format कुछ compute नहीं करता; दोनों data/markup notations हैं।
Comments को JSON से Attribute करना: XML के पास <!-- --> है; JSON के पास कुछ नहीं (जल्द ही इस पर एक पूरा lesson)। इस row को swap करना एक favourite trick option है।
Similarities Half भूल जाना: self-describing, hierarchical, text, language-independent: पहले इन्हें कहिए, फिर differ कीजिए।
Theory
एक Record, दोनों Costumes Hold कीजिए
आज का Garba Night pair (XML block और JSON line) अपने portable exam exhibit की तरह memorise रखिए: memory से दोनों लिखना और differences पर point करना compare-JSON-and-XML का पूरा answer IS है, worked example सहित। यहाँ से unit JSON की खुद की grammar में deep जाती है: अगला strings और numbers वाले objects, फिर 5 array forms, फिर वे curious comments जिन्हें JSON रखने से मना करता है।
Summary
Key takeaways
- पहले Similarities: दोनों self-describing, hierarchical, plain text, language-independent, AJAX-fetchable।
- JSON: कोई end tags नहीं, lighter, native arrays, JS objects तक one-step parse।
- XML: attributes, namespaces, comments, schema validation: document-format strengths।
- JSON = data format; XML = document format जो data carry कर सकता है।
- Web APIs और JS apps के लिए JSON चुनिए; जहाँ standards (RSS, SVG, Android) या attributes rule करें वहाँ XML।
- दोनों costumes में same record perfect exam exhibit है: pair सीखिए।
- Memory hook: JSON light travel करता है, XML luggage carry करता है जो इसे कभी-कभी genuinely चाहिए होता है।