JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) एक हल्का प्रारूप है जिसका उपयोग डेटा इंटरचेंजिंग के लिए किया जाता है। यह जावास्क्रिप्ट भाषा के उपसमूह पर आधारित है (जिस तरह से वस्तुओं को जावास्क्रिप्ट में बनाया जाता है)। जैसा कि MDN में कहा गया है , कुछ जावास्क्रिप्ट JSON नहीं है, और कुछ JSON जावास्क्रिप्ट नहीं है।
यह कहां उपयोग किया जाता है इसका एक उदाहरण वेब सेवाओं की प्रतिक्रियाएं हैं 'पुराने' दिनों में, वेब सेवाओं ने XML का उपयोग डेटा वापस भेजने के लिए उनके प्राथमिक डेटा प्रारूप के रूप में किया था, लेकिन जब से JSON दिखाई दिया ( JSON प्रारूप डगलस क्रॉकफोर्ड द्वारा RFC 4627 में निर्दिष्ट किया गया है), यह पसंदीदा प्रारूप रहा है क्योंकि यह बहुत अधिक है हल्के
आप आधिकारिक JSON वेब साइट पर बहुत अधिक जानकारी पा सकते हैं ।
JSON दो संरचनाओं पर बनाया गया है:
- नाम / मान जोड़े का एक संग्रह। विभिन्न भाषाओं में, यह एक वस्तु, रिकॉर्ड, संरचना, शब्दकोश, हैश तालिका, की सूची, या साहचर्य सरणी के रूप में महसूस किया जाता है।
- मूल्यों की एक क्रमबद्ध सूची। अधिकांश भाषाओं में, यह एक सरणी, वेक्टर, सूची या अनुक्रम के रूप में महसूस किया जाता है।
JSON संरचना
यहाँ JSON डेटा का एक उदाहरण है:
{
"firstName": "John",
"lastName": "Smith",
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
"212 555-1234",
"646 555-4567"
]
}
जावास्क्रिप्ट में JSON
JSON (जावास्क्रिप्ट में) एक स्ट्रिंग है!
लोग प्रायः सभी जावास्क्रिप्ट वस्तुओं को JSON मानते हैं और JSON एक जावास्क्रिप्ट ऑब्जेक्ट है। यह गलत है।
जावास्क्रिप्ट var x = {x:y}
में JSON नहीं है , यह जावास्क्रिप्ट ऑब्जेक्ट है । दोनों एक ही चीज नहीं हैं। JSON समतुल्य (जावास्क्रिप्ट भाषा में प्रतिनिधित्व) होगा var x = '{"x":"y"}'
। x
टाइप स्ट्रिंग का एक ऑब्जेक्ट है यह अपने आप में एक वस्तु नहीं है। इसे पूरी तरह से विकसित जावास्क्रिप्ट ऑब्जेक्ट में बदलने के लिए, आपको पहले इसे पार्स करना होगा var x = JSON.parse('{"x":"y"}');
, x
अब एक ऑब्जेक्ट है लेकिन यह अब JSON नहीं है।
जावास्क्रिप्ट ऑब्जेक्ट बनाम JSON देखें
JSON और जावास्क्रिप्ट के साथ काम करते समय, आपको eval
कॉलबैक में दिए गए परिणाम का मूल्यांकन करने के लिए फ़ंक्शन का उपयोग करने के लिए लुभाया जा सकता है , लेकिन यह सुझाव नहीं दिया गया है क्योंकि JSON में दो वर्ण (U + 2028 और U + 2029) मान्य हैं, लेकिन जावास्क्रिप्ट में नहीं (इसके बारे में यहाँ अधिक पढ़ें )।
इसलिए, किसी को हमेशा क्रॉफोर्ड की स्क्रिप्ट का उपयोग करने का प्रयास करना चाहिए जो कि मूल्यांकन करने से पहले एक वैध JSON के लिए जांच करता है। स्क्रिप्ट स्पष्टीकरण का लिंक यहां पाया गया है और यहां js फ़ाइल का सीधा लिंक है। आजकल हर बड़े ब्राउज़र का अपना कार्यान्वयन होता है।
उदाहरण के लिए JSON पार्सर का उपयोग कैसे करें (उपरोक्त कोड स्निपेट से json के साथ):
//The callback function that will be executed once data is received from the server
var callback = function (result) {
var johnny = JSON.parse(result);
//Now, the variable 'johnny' is an object that contains all of the properties
//from the above code snippet (the json example)
alert(johnny.firstName + ' ' + johnny.lastName); //Will alert 'John Smith'
};
JSON पार्सर भी एक और बहुत ही उपयोगी विधि प्रदान करता है stringify
। यह विधि एक जावास्क्रिप्ट ऑब्जेक्ट को एक पैरामीटर के रूप में स्वीकार करती है, और JSON प्रारूप के साथ एक स्ट्रिंग को वापस आउटपुट करती है। जब आप सर्वर पर डेटा वापस भेजना चाहते हैं तो यह उपयोगी है:
var anObject = {name: "Andreas", surname : "Grech", age : 20};
var jsonFormat = JSON.stringify(anObject);
//The above method will output this: {"name":"Andreas","surname":"Grech","age":20}
उपरोक्त दो विधियां ( parse
और stringify
) एक दूसरा पैरामीटर भी लेती हैं, जो एक ऐसा फंक्शन है जिसे अंतिम परिणाम के हर स्तर पर हर कुंजी और मूल्य के लिए कहा जाएगा, और प्रत्येक मान को आपके इनपुट किए गए फ़ंक्शन के परिणाम से बदल दिया जाएगा। (इस पर अधिक यहाँ )
Btw, आप सभी के लिए, जो सोचते हैं कि JSON सिर्फ जावास्क्रिप्ट के लिए है, इस पोस्ट की जाँच करें जो बताता है और अन्यथा पुष्टि करता है।
संदर्भ