JSON.parse() मेथड
JSON.parse() एक JSON स्ट्रिंग को पार्स करके JavaScript ऑब्जेक्ट/ऐरे में बदलता है। सर्वर से डेटा प्राप्त करते समय उपयोगी (सर्वर हमेशा स्ट्रिंग भेजता है)।
सिंटैक्स
JSON.parse(text, reviver)
- text - पार्स करने वाली JSON स्ट्रिंग
- reviver (वैकल्पिक) - ट्रांसफॉर्मेशन फंक्शन
उदाहरण
<html> <body> <script>
// JSON स्ट्रिंग (सर्वर से प्राप्त जैसी)
var jsonString = '{"name":"Jon", "age":20, "city":"Columbia"}';
// पार्स करके ऑब्जेक्ट बनाएं
var obj = JSON.parse(jsonString);
document.write(obj); // [object Object]
console.log(obj); // {name: "Jon", age: 20, city: "Columbia"}
console.log(obj.name); // "Jon"
console.log(obj.age); // 20
</script> </body> </html>
आउटपुट
[object Object] {name: "Jon", age: 20, city: "Columbia"}
Reviver फंक्शन का उपयोग
<script>
var json = '{"date": "2024-12-25T10:30:00.000Z", "value": 42}';
// डेट स्ट्रिंग्स को Date ऑब्जेक्ट में बदलें
var obj = JSON.parse(json, (key, value) => {
if (key === "date") return new Date(value);
return value;
});
console.log(obj.date instanceof Date); // true
console.log(obj.date.getFullYear()); // 2024
</script>
एरर हैंडलिंग
<script>
var invalidJson = '{"name": "test", }'; // ट्रेलिंग कॉमा - अमान्य JSON
try {
var obj = JSON.parse(invalidJson);
} catch (e) {
console.error("JSON पार्स एरर:", e.message);
// "Unexpected token } in JSON at position 18"
}
</script>
JSON.stringify() के साथ राउंड-ट्रिप
<script>
var original = {name: "टेस्ट", value: 123, nested: {a: 1}};
// ऑब्जेक्ट → स्ट्रिंग
var json = JSON.stringify(original);
// '{"name":"टेस्ट","value":123,"nested":{"a":1}}'
// स्ट्रिंग → ऑब्जेक्ट
var restored = JSON.parse(json);
// {name: "टेस्ट", value: 123, nested: {a: 1}}
console.log(JSON.stringify(original) === JSON.stringify(restored)); // true
</script>
सामान्य JSON एरर्स
- सिंगल कोट्स का उपयोग:
'{"a":1}'❌ →"{\"a\":1}"✅ - ट्रेलिंग कॉमा:
{"a":1,}❌ - कमेंट्स: JSON कमेंट्स सपोर्ट नहीं करता
- अनडिफाइंड/फंक्शन/सिम्बल: JSON में सीरियलाइज़ नहीं होते