JSON क्या है और मैं इसका उपयोग क्यों करूंगा?


542

मैंने विकिपीडिया और Googled पर देखा है और आधिकारिक दस्तावेज़ीकरण पढ़ा है, लेकिन मुझे अभी भी उस बिंदु पर नहीं मिला है जहां मैं वास्तव में समझता हूं कि JSON क्या है, और मैं इसका उपयोग क्यों करूंगा।

मैं थोड़ी देर के लिए PHP, MySQL और जावास्क्रिप्ट / HTML का उपयोग करके अनुप्रयोगों का निर्माण कर रहा हूं, और अगर JSON मेरे जीवन को आसान बनाने के लिए या मेरे कोड को बेहतर या मेरे उपयोगकर्ता इंटरफ़ेस को बेहतर बनाने के लिए कुछ कर सकता है, तो मैं इसके बारे में जानना चाहूंगा। क्या कोई मुझे स्पष्ट व्याख्या दे सकता है?



15
copterlabs.com/blog/json-what-it-is-how-it-works-how-to-use-it यह उपयोग का एक अच्छा सीधा उदाहरण है
Tom


1
ब्रैड गिल्बर्ट वास्तव में नहीं है - यह डेटा को व्यक्त करने का अपना तरीका है, और JSON के समान है क्योंकि वे दोनों वस्तुओं को तार के समान व्यक्त करते हैं (इसी तरह XML या plists या कई अन्य लोगों के लिए), लेकिन JSON मशीन लेखन और मानव लेखन के लिए YAML के लिए बेहतर है ।
बेन ऑबिन

जवाबों:


649

JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) एक हल्का प्रारूप है जिसका उपयोग डेटा इंटरचेंजिंग के लिए किया जाता है। यह जावास्क्रिप्ट भाषा के उपसमूह पर आधारित है (जिस तरह से वस्तुओं को जावास्क्रिप्ट में बनाया जाता है)। जैसा कि MDN में कहा गया है , कुछ जावास्क्रिप्ट JSON नहीं है, और कुछ JSON जावास्क्रिप्ट नहीं है।

यह कहां उपयोग किया जाता है इसका एक उदाहरण वेब सेवाओं की प्रतिक्रियाएं हैं 'पुराने' दिनों में, वेब सेवाओं ने XML का उपयोग डेटा वापस भेजने के लिए उनके प्राथमिक डेटा प्रारूप के रूप में किया था, लेकिन जब से JSON दिखाई दिया ( JSON प्रारूप डगलस क्रॉकफोर्ड द्वारा RFC 4627 में निर्दिष्ट किया गया है), यह पसंदीदा प्रारूप रहा है क्योंकि यह बहुत अधिक है हल्के

आप आधिकारिक JSON वेब साइट पर बहुत अधिक जानकारी पा सकते हैं ।

JSON दो संरचनाओं पर बनाया गया है:

  • नाम / मान जोड़े का एक संग्रह। विभिन्न भाषाओं में, यह एक वस्तु, रिकॉर्ड, संरचना, शब्दकोश, हैश तालिका, की सूची, या साहचर्य सरणी के रूप में महसूस किया जाता है।
  • मूल्यों की एक क्रमबद्ध सूची। अधिकांश भाषाओं में, यह एक सरणी, वेक्टर, सूची या अनुक्रम के रूप में महसूस किया जाता है।

JSON संरचना



JSON ऑब्जेक्ट आरेख

JSON सरणी चित्र

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 सिर्फ जावास्क्रिप्ट के लिए है, इस पोस्ट की जाँच करें जो बताता है और अन्यथा पुष्टि करता है।


संदर्भ


1
जिस तरह से जानकारी को क्रमबद्ध किया जाता है, भले ही आप एक पार्सर हो, है ना? इसलिए, कौन परवाह करता है कि आप डेटा को प्रसारित करने के लिए किस प्रारूप का उपयोग करते हैं यदि इसके कार्यान्वयन के विवरण को दूर किया जा रहा है।
टॉम लेहमन

6
वास्तव में, यदि आप ग्राहक और सर्वर को डेटा प्रेषित कर रहे हैं, तो मुझे लगता है कि आपकी प्रतिक्रिया आकारों से सावधान रहना बहुत महत्वपूर्ण है।
एंड्रियास ग्रीच

9
पांडित्य के लिए, कुछ पात्र हैं जो JSON जावास्क्रिप्ट से अलग तरीके से संभालते हैं, इसे एक सख्त उपसमुच्चय होने से रोकते हैं: timelessrepo.com/json-isnt-a-javascript-subset
जेरेमी बैंक्स

जब आप कहते हैं कि यह XML की तुलना में हल्का है, तो क्या आप फ़ाइलों का उल्लेख कर रहे हैं या क्या कोडिंग में हल्के का स्थानिक अर्थ है?
Whatahitson

1
तो क्या आप XML को JSON से बदल देंगे? क्या आपका यही कहना है? यदि ऐसा है ... महान, xml एक बुरा सपना है।
जेम्स ११

66

संकल्पना समझाया - कोई कोड या तकनीकी शब्दजाल नहीं

JSON क्या है? - मैंने इसे अपनी पत्नी टीएम को कैसे समझाया

Me: “यह मूल रूप से लिखित रूप में किसी के साथ संवाद करने का एक तरीका है .... लेकिन बहुत विशिष्ट नियमों के साथ।

पत्नी: हाँ…।?

मुझे: अंग्रेजी में अंग्रेजी में, नियम बहुत ढीले हैं: ठीक उसी तरह जैसे पिंजरे की लड़ाई। JSON के साथ ऐसा नहीं है। कुछ का वर्णन करने के कई तरीके हैं:

• उदाहरण 1: हमारे परिवार में 4 लोग हैं: आप, मैं और 2 बच्चे।

• उदाहरण 2: हमारा परिवार: आप, मैं, बच्चा 1 और बच्चा 2।

• उदाहरण 3: परिवार: [आप, मैं, बच्चा 1, बच्चा 2]

• उदाहरण 4: हमें अपने परिवार में 4 लोग मिले: मम्मी, डैड, किड 1 और किड 2।

पत्नी: वे सिर्फ सादे अंग्रेजी का उपयोग क्यों नहीं करते?

Me: वे करेंगे, लेकिन याद रखें कि हम कंप्यूटर के साथ काम कर रहे हैं। एक कंप्यूटर बेवकूफ है और वाक्यों को समझने में सक्षम नहीं है। इसलिए हम वास्तव में विशिष्ट होना चाहिए जब कंप्यूटर शामिल हों अन्यथा वे भ्रमित हो जाते हैं। इसके अलावा, JSON संचार का एक काफी कुशल तरीका है, इसलिए अधिकांश अप्रासंगिक सामान को काट दिया जाता है, जो कि बहुत सुंदर है। यदि आप हमारे परिवार को, कंप्यूटर को, एक तरीका बता सकते हैं, तो आप ऐसा कर सकते हैं:

{
                "Family" :  ["Me", "Wife", "Kid1", "Kid2"] 
}

…… और वह मूल रूप से JSON है। लेकिन याद रखें, आपको JSON व्याकरण के नियमों का पालन करना चाहिए। यदि आप उन नियमों को तोड़ते हैं, तो एक कंप्यूटर बस समझ नहीं पाएगा (यानी पार्स) कि आप क्या लिख ​​रहे हैं।

पत्नी: तो मैं जसन में कैसे लिखूं?

एक अच्छा तरीका यह होगा कि आप एक जॉन्स सीरियलाइज़र का उपयोग करें - जो कि एक पुस्तकालय है जो आपके लिए भारी लिफ्टिंग करता है।

सारांश

JSON मूल रूप से बहुत, बहुत विशिष्ट नियमों के साथ, किसी को डेटा संचार करने का एक तरीका है। मुख्य मूल्य जोड़े और सारणियों का उपयोग करना। यह समझाया गया अवधारणा है, इस बिंदु पर यह ऊपर दिए गए विशिष्ट नियमों को पढ़ने के लायक है।


48

संक्षेप में - JSON इस तरह से क्रमबद्ध करने का एक तरीका है, कि यह जावास्क्रिप्ट कोड बन जाता है। निष्पादित होने पर (eval या अन्यथा के साथ), यह कोड एक जावास्क्रिप्ट ऑब्जेक्ट बनाता है और लौटाता है जिसमें आपके द्वारा अनुक्रमित डेटा होता है। यह उपलब्ध है क्योंकि जावास्क्रिप्ट निम्नलिखित सिंटैक्स की अनुमति देता है:

var MyArray = [ 1, 2, 3, 4]; // MyArray is now an array with 4 elements
var MyObject = {
    'StringProperty' : 'Value',
    'IntProperty' : 12,
    'ArrayProperty' : [ 1, 2, 3],
    'ObjectProperty' : { 'SubObjectProperty': 'SomeValue' }
}; // MyObject is now an object with property values set.

आप इसे कई उद्देश्यों के लिए उपयोग कर सकते हैं। एक के लिए, अपने सर्वर बैकएंड से अपने जावास्क्रिप्ट कोड में डेटा पास करना एक आरामदायक तरीका है। इस प्रकार, यह अक्सर AJAX में उपयोग किया जाता है।

आप इसे एक स्टैंडअलोन क्रमांकन तंत्र के रूप में भी उपयोग कर सकते हैं, जो सरल है और XML की तुलना में कम जगह लेता है। कई पुस्तकालय मौजूद हैं जो आपको विभिन्न प्रोग्रामिंग भाषाओं के लिए JSON में ऑब्जेक्ट्स को क्रमांकित और डीज़ेरिअलाइज़ करने की अनुमति देते हैं।


31

संक्षेप में, यह डेटा पास करने के लिए एक स्क्रिप्टिंग नोटेशन है। कुछ मायनों में एक्सएमएल का एक विकल्प, मूल रूप से मूल डेटा प्रकारों, सरणियों और साहचर्य सरणियों (नाम-मूल्य जोड़े, जिसे ऑब्जेक्ट्स कहा जाता है, क्योंकि वे जो प्रतिनिधित्व करते हैं) का समर्थन करते हैं।

सिंटैक्स वह है जो जावास्क्रिप्ट में उपयोग किया जाता है और JSON स्वयं "जावास्क्रिप्ट ऑब्जेक्ट संकेतन" के लिए खड़ा है। हालाँकि यह पोर्टेबल हो गया है और अन्य भाषाओं में भी इसका उपयोग किया जाता है।

विस्तार के लिए एक उपयोगी लिंक यहाँ है:

http://secretgeek.net/json_3mins.asp


19

JSON प्रारूप का उपयोग अक्सर नेटवर्क कनेक्शन पर संरचित डेटा को क्रमांकित और प्रसारित करने के लिए किया जाता है। यह मुख्य रूप से XML के विकल्प के रूप में सेवारत, सर्वर और वेब एप्लिकेशन के बीच डेटा संचारित करने के लिए उपयोग किया जाता है।


16

JSON जावास्क्रिप्ट ऑब्जेक्ट संकेतन है। यह XML की तुलना में नेटवर्क कनेक्शन में डेटा सेट करने का एक बहुत अधिक कॉम्पैक्ट तरीका है। मेरा सुझाव है कि JSON का उपयोग किसी भी AJAX जैसे अनुप्रयोगों में किया जाएगा जहां XML अन्यथा "अनुशंसित" विकल्प होगा। XML की वर्बोसिटी समय डाउनलोड करने के लिए जोड़ देगा और बैंडविड्थ की खपत ($ $ $) बढ़ जाएगी। आप JSON के साथ समान प्रभाव को पूरा कर सकते हैं और इसका मार्क-अप लगभग विशेष रूप से डेटा के लिए ही समर्पित है न कि अंतर्निहित संरचना के लिए।


11

सामान्य संक्षिप्त उत्तर है: यदि आप डेटा अनुरोध करने के लिए AJAX का उपयोग कर रहे हैं, तो आप आसानी से JSON स्ट्रिंग्स के रूप में ऑब्जेक्ट भेज और वापस कर सकते हैं। जावास्क्रिप्ट अनुरोध के लिए उपलब्ध एक्सटेंशन toJSON () AJAX अनुरोध में सर्वर को डेटा भेजने के लिए सभी जावास्क्रिप्ट प्रकारों पर कॉल करता है। AJAX प्रतिक्रियाएँ ऑब्जेक्ट को JSON स्ट्रिंग्स के रूप में वापस ला सकती हैं जिन्हें एक साधारण ईवैल कॉल द्वारा जावास्क्रिप्ट ऑब्जेक्ट्स में परिवर्तित किया जा सकता है, जैसे कि AJAX फ़ंक्शन someAjaxFunctionCallReturningJson लौटा

"{ \"FirstName\" : \"Fred\", \"LastName\" : \"Flintstone\" }"

आप जावास्क्रिप्ट में लिख सकते हैं

var obj = eval("(" + someAjaxFunctionCallReturningJson().value + ")");
alert(obj.FirstName);
alert(obj.LastName);

JSON का उपयोग वेब सेवा पेलोड्स एट अल के लिए भी किया जा सकता है, लेकिन यह AJAX परिणामों के लिए वास्तव में सुविधाजनक है।

  • अद्यतन (दस साल बाद): ऐसा न करें, JSON.parse का उपयोग करें

1
Eval () के साथ, कुछ भी मूल्यांकन किया जाएगा। यह एक सुरक्षा जोखिम है।
थॉमस वेलर

@ThomasWeller हाँ, यह उत्तर प्राचीन है, मैं अब JSON.parse के साथ जाऊंगा धन्यवाद!
स्टीवन ए लोव

8

मैं JSON को मुख्य रूप से पसंद करता हूं क्योंकि यह बहुत कठिन है । वेब सामग्री के लिए जिसे gzipped किया जा सकता है, यह जरूरी नहीं कि एक बड़ी बात है (इसलिए x html इतना लोकप्रिय क्यों है)। लेकिन ऐसे मौके हैं जहां यह फायदेमंद हो सकता है।

उदाहरण के लिए, एक परियोजना के लिए मैं जानकारी प्रसारित कर रहा था जिसे एक्सएमपीपी के माध्यम से क्रमबद्ध और प्रसारित करने की आवश्यकता थी । चूंकि अधिकांश सर्वर एक संदेश में आपके द्वारा प्रसारित किए जा सकने वाले डेटा की मात्रा को सीमित कर देते हैं, इसलिए मैंने स्पष्ट विकल्प, XML पर JSON का उपयोग करना उपयोगी पाया।

एक अतिरिक्त बोनस के रूप में, यदि आप पायथन या जावास्क्रिप्ट से परिचित हैं, तो आप पहले से ही JSON को बहुत जानते हैं और इसे बिना किसी प्रशिक्षण के व्याख्या कर सकते हैं।


8

JSON क्या है?

जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) एक हल्के डेटा-इंटरचेंज प्रारूप है जो जावास्क्रिप्ट के ऑब्जेक्ट शाब्दिक रूप से प्रेरित है।

JSON मूल्यों में शामिल हो सकते हैं:

ऑब्जेक्ट्स (नाम-मूल्य जोड़े के संग्रह) सरणियों (मूल्यों की सूची का आदेश दिया) तार (दोहरे उद्धरण में) सही, गलत, या अशक्त

JSON भाषा स्वतंत्र है।

PHP के साथ JSON?

PHP संस्करण 5.2.0 के बाद, JSON एक्सटेंशन डिकोड है और कार्यात्मकताओं को डिफ़ॉल्ट रूप से एन्कोड करता है।

Json_encode - मानों का JSON प्रतिनिधित्व लौटाता है Json_d timecode - JSON स्ट्रिंग Json_last_error को डिकोड करता है - अंतिम त्रुटि हुई।

JSON सिंटैक्स और नियम?

JSON सिंटैक्स जावास्क्रिप्ट ऑब्जेक्ट संकेतन सिंटैक्स से लिया गया है:

डेटा नाम / मूल्य जोड़े में है। डेटा कॉमा से अलग किया जाता है घुंघराले ब्रेसिज़ धारण की वस्तुएं वर्ग कोष्ठक सरणियाँ


4

हमें कॉलेज पर एक प्रोजेक्ट करना है और हमने एक बहुत बड़ी समस्या का सामना किया है, इसे समान उत्पत्ति नीति कहा जाता है। अन्य चीजों को अमोग करें, यह बनाता है कि जावास्क्रिप्ट से आपका XMLHttpRequest तरीका आपकी साइट पर डोमेन के अलावा अन्य डोमेन के लिए अनुरोध नहीं कर सकता है।

यदि आपकी साइट www.example.com पर है, तो उदाहरण के लिए आप www.otherexample.com से अनुरोध नहीं कर सकते। JSONRequest यह अनुमति देता है, लेकिन आपको JSON प्रारूप में परिणाम मिलेगा यदि वह साइट अनुमति देती है (उदाहरण के लिए इसमें एक वेब सेवा है जो JSON में संदेश लौटाती है)। यह एक समस्या है जहाँ आप शायद JSON का उपयोग कर सकते हैं।

यहाँ कुछ व्यावहारिक है: Yahoo JSON


4

JSON और पारंपरिक वाक्यविन्यास के बीच का अंतर इस प्रकार होगा (जावास्क्रिप्ट में)

परम्परागत

 function Employee(name, Id, Phone, email){

      this.name = name;
      this.Id = Id;
      this.Phone = Phone;
      this.email = email;
  }

  //access or call it as 

var Emp = new Employee("mike","123","9373849784","mike.Anderson@office.com");

JSON के साथ

अगर हम JSON का उपयोग करते हैं तो हम अलग-अलग तरीके से परिभाषित कर सकते हैं

  function Employee(args){

   this.name = args.name;
   this.Id = args.Id;
   this.Phone = args.Phone;
   this.email = args.email;
}

//now access this as...

var Emp = new Employee({'name':'Mike', 'Id':'123', 'Phone':'23792747', 'email':'mike.adnersone@office.com'});

हमें याद रखने वाली महत्वपूर्ण बात यह है कि, अगर हमें JSON पद्धति के बिना 100 तत्वों वाले "कर्मचारी" वर्ग या मॉडल का निर्माण करना है तो हमें कक्षा बनाते समय सब कुछ पार्स करना होगा। लेकिन JSON के साथ हम ऑब्जेक्ट्स इनलाइन को केवल तब परिभाषित कर सकते हैं जब क्लास के लिए कोई नया ऑब्जेक्ट परिभाषित किया जाता है।

इसलिए यह रेखा नीचे JSON के साथ काम करने का तरीका है (चीजों को परिभाषित करने का एक सरल तरीका)

 var Emp = new Employee({'name':'Mike', 'Id':'123', 'Phone':'23792747', 'email':'mike.adnersone@office.com'});

2
यह बिल्कुल JSON नहीं है - यह एक जावास्क्रिप्ट ऑब्जेक्ट है (JSON नहीं)
बेन ऑबिन

4

कभी-कभी ऐसी तकनीक दी जाती है जहां किसी की आवश्यकता नहीं होती है, और जबकि शीर्ष मतदान के कई जवाब सटीक रूप से तकनीकी और विशिष्ट होते हैं, मुझे व्यक्तिगत रूप से नहीं लगता कि वे समझने में आसान हैं, या रसीले हैं, जैसा कि विकिपीडिया, या में पाया जा सकता है। आधिकारिक दस्तावेज।

जिस तरह से मुझे JSON के बारे में सोचना पसंद है वह बिल्कुल वैसा ही है - विभिन्न भाषाओं की दुनिया के भीतर की भाषा। हालाँकि, JSON और अन्य भाषाओं के बीच का अंतर यह है कि "हर कोई" JSON बोलता है, साथ ही अपनी "मूल भाषा" भी।

एक वास्तविक दुनिया उदाहरण का उपयोग करते हुए, आइए दिखाते हैं कि हमारे पास तीन लोग हैं। एक व्यक्ति इगबो को अपनी मातृभाषा कहता है। दूसरा व्यक्ति पहले व्यक्ति के साथ बातचीत करना चाहेगा, हालांकि, पहला व्यक्ति योरूबा को अपनी पहली भाषा के रूप में बोलता है।

हम क्या कर सकते है?

शुक्र है, हमारे उदाहरण में तीसरा व्यक्ति अंग्रेजी बोलने के लिए बड़ा हुआ, लेकिन दोनों बोलने के लिए भी होता है इग्बो और योरूबा को दूसरी भाषाओं के रूप में , और इसलिए पहले दो व्यक्तियों के बीच मध्यस्थ के रूप में कार्य कर सकता है।

प्रोग्रामिंग की दुनिया में, पहला "व्यक्ति" पायथन है, दूसरा "व्यक्ति" रूबी है, और तीसरा "व्यक्ति" जेन्सन है, जो सिर्फ इतना होता है कि रूबी को पायथन में अनुवाद करने और इसके विपरीत करने में सक्षम हो सकता है! अब जाहिर है कि यह उपमा एक आदर्श नहीं है, लेकिन, किसी ऐसे व्यक्ति के रूप में जो द्विभाषी है, मेरा मानना ​​है कि यह देखने का एक आसान तरीका है कि JSON अन्य प्रोग्रामिंग भाषाओं के साथ कैसे बातचीत करता है।


2

यह बहुत सरल है। JSON का अर्थ जावा स्क्रिप्ट ऑब्जेक्ट नोटेशन है। सॉफ़्टवेयर घटकों के बीच डेटा स्थानांतरित करने के लिए XML का उपयोग करने के विकल्प के रूप में इसे सोचें।

उदाहरण के लिए, मैंने हाल ही में JSON को लौटाने वाली वेब सेवाओं का एक समूह लिखा था, और कुछ जावास्क्रिप्ट डेवलपर्स ने फिर कोड लिखा, जिसने सेवाओं को बुलाया और उस प्रारूप में दी गई जानकारी का उपभोग किया।


2

JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) डेटा एक्सचेंज / ट्रांसफर के लिए एक लाइट वेट डेटा फॉर्मेट है। जावास्क्रिप्ट के रूप में इसकी प्रमुख जोड़ी है। REST API के लिए इसका व्यापक रूप से सर्वर से क्लाइंट में डेटा ट्रांसफर के लिए उपयोग किया जाता है। आजकल कई सोशल मीडिया साइट्स इसका इस्तेमाल कर रही हैं। हालाँकि मैं इसे डेटा प्रकारों के संबंध में XML के रूप में मजबूत नहीं देखता हूं। XML में बहुत समृद्ध डेटाटाइप और XSD है। JSON में इसकी कमी है।

स्ट्रिंग डेटा की एक ही राशि के लिए JSON XML की तुलना में हल्का होगा क्योंकि XML में सभी खुलने और बंद होने वाले टैग आदि हैं ...


0

जावा संदर्भ में, JSON का उपयोग करने के लिए एक कारण हो सकता है, यह है कि यह जावा के सीरियलाइज़ेशन ढांचे को एक बहुत अच्छा विकल्प प्रदान करता है, जिसे (ऐतिहासिक रूप से) कुछ काफी गंभीर कमजोरियों के अधीन दिखाया गया है।

यहोशू बलोच ने आइटम 85 "जावा सेरियलाइजेशन के लिए वैकल्पिक विकल्प" (प्रभावी जावा 3 डी संस्करण) में गहराई से इस पर चर्चा की

जावा के सीरियलाइज़ेशन का शुरू में डेटा संरचनाओं को एक ऐसे प्रारूप में अनुवाद करना था जो आसानी से प्रसारित या संग्रहीत किया जा सकता था। ऊपर बताए गए गंभीर कारनामों के बिना JSON इस आवश्यकता को पूरा करता है।


-3

अपने php json प्रतिक्रिया को पार्स करने के लिए निम्न कोड का प्रयास करें: read.php

<script
  src="https://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>
<script type="text/javascript">  
$.ajax({
    url:'index.php',
    data:{},
    type:"POST",
    success:function(result) {
        jsondecoded = $.parseJSON(result);
        $.each(jsondecoded, function(index, value) {
            $("#servers").text($("#servers").text() + " " + value.servername);
            console.log(value.start);
            console.log(value.end);
            console.log(value.id);
        });
    },
    statusCode: {
    404: function() {
      alert( "page not found" );
    }
  }
});
</script>

server.php

<?php 
echo '[{"start":"2017-08-29","end":"2017-09-01","id":"22"},{"start":"2017-09-03","end":"2017-09-06","id":"23"}]';
?>

हालांकि यह कोड इस सवाल का जवाब दे सकता है कि समस्या को हल करने के तरीके के बारे में अतिरिक्त संदर्भ प्रदान करता है और यह समस्या को हल करता है और उत्तर के दीर्घकालिक मूल्य में सुधार करेगा।
1:35 पर निक 3500
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.