दिलचस्प पोस्ट
क्या डब्लूडबैग नाम में मॉडल प्रॉपर्टी नाम के दृश्यबैग का नाम हो सकता है? SQL सर्वर में मैं एक विदेशी कुंजी कैसे बनाऊँ? X तत्वों के कुछ हिस्सों में एक रूबी सरणी कैसे विभाजित करें? JQuery का उपयोग कर अक्षम विशेषता हटाएं? डीआईवी के आयाम को कैसे पता लगाया जाए? तालिका दृश्य सेल में UIButton कार्रवाई आईओएस कैलेंडर पहुंच अनुमति संवाद, इसे प्रकट करने के लिए मजबूर? जावा में मिक्सिन लागू करें? EditText पर फ़ोकस सेट करने से ScrollView को बंद करें समय बीत चुका है सी # दो सामान्य मान जोड़ना मुद्रित फ्लोट को दशमलव अंकों के साथ 0 के पीछे वाले स्थान पर एनएसआईजेज से पीएनजी फाइल को कैसे बचाएं (रेटिना के मुद्दे) Internet Explorer में Mozilla's toSource () विधि को लागू करना पक्ष की तरफ से रेंडर करने से फ्लेक्स आइटम को रोकें

"इंडेक्स" (जेएसओएन) के रूप में संख्या का उपयोग करना

हाल ही में JSON में खोदना शुरू कर दिया है, और मैं वर्तमान में एक नंबर "पहचानकर्ता" के रूप में उपयोग करने की कोशिश कर रहा हूं, जो बहुत अच्छी तरह से काम नहीं करता है foo:"bar" ठीक काम करता है, जबकि 0:"bar" नहीं करता है

 var Game = { status: [ { 0:"val", 1:"val", 2:"val" }, { 0:"val", 1:"val", 2:"val" } ] } alert(Game.status[0].0); 

क्या ऐसा करने के लिए निम्नलिखित तरीके हैं? Game.status[0].0 तरह कुछ Game.status[0].0 मेरी ज़िंदगी को आसान बनाना चाहते हैं बेशक इसके आस-पास के अन्य तरीके हैं, लेकिन इस तरह से पसंदीदा है

Solutions Collecting From Web of ""इंडेक्स" (जेएसओएन) के रूप में संख्या का उपयोग करना"

JSON केवल प्रमुख नाम स्ट्रिंग होने की अनुमति देता है उन तारों में संख्यात्मक मान शामिल हो सकते हैं।

आप हालांकि JSON का उपयोग नहीं कर रहे हैं आपके पास एक जावास्क्रिप्ट ऑब्जेक्ट शाब्दिक है आप कुंजी के लिए पहचानकर्ता का उपयोग कर सकते हैं, लेकिन एक पहचानकर्ता संख्या से शुरू नहीं हो सकता है आप फिर भी स्ट्रिंग का उपयोग कर सकते हैं।

 var Game={ "status": [ { "0": "val", "1": "val", "2": "val" }, { "0": "val", "1": "val", "2": "val" } ] } 

यदि आप डॉट-नोटेशन वाले गुणों का उपयोग करते हैं, तो आपको पहचानकर्ताओं का उपयोग करना होगा इसके बजाय स्क्वायर ब्रैकेट नोटेशन का प्रयोग करें: Game[0][0]

लेकिन उस डेटा को देखते हुए, एक सरणी अधिक समझ में आता है।

 var Game={ "status": [ [ "val", "val", "val" ], [ "val", "val", "val" ] ] } 

शायद आपको एक सरणी की ज़रूरत है?

 var Game = { status: [ ["val", "val","val"], ["val", "val", "val"] ] } alert(Game.status[0][0]); 

सबसे पहले, यह JSON नहीं है: JSON mandates कि सभी कुंजी स्ट्रिंग होने चाहिए।

दूसरे, नियमित सरणियां आप चाहते हैं:

 var Game = { status: [ [ "val", "val", "val" ], [ "val", "val", "val" ] } } 

काम करेगा, यदि आप Game.status[0][0] उपयोग करते हैं। Game.status[0][0] आप डॉट नेशन ( .0 ) के साथ संख्याओं का उपयोग नहीं कर सकते।

वैकल्पिक रूप से, आप संख्या उद्धृत कर सकते हैं (यानी { "0": "val" }... ); आपके पास सरणी के बजाय सादे ऑब्जेक्ट होंगे, लेकिन एक ही वाक्यविन्यास काम करेगा।

जब कोई जावास्क्रिप्ट ऑब्जेक्ट प्रॉपर्टी का नाम या तो एक अंडरस्कोर या एक अक्षर से शुरू नहीं होता है, तो आप डॉट नेशन का प्रयोग नहीं कर सकते (जैसे Game.status[0].0 ), और आपको वैकल्पिक नोटेशन का उपयोग करना चाहिए , जो Game.status[0][0]

एक अलग नोट, क्या आपको वास्तव में इसकी स्थिति अस्थिरता के अंदर किसी ऑब्जेक्ट की आवश्यकता है? यदि आप किसी ऑरेंज की तरह ऑब्जेक्ट का उपयोग कर रहे हैं, तो इसके बजाय एक असली सरणी का उपयोग क्यों न करें?

व्हाट अबाउट

 Game.status[0][0] or Game.status[0]["0"] ? 

इनमें से एक काम करता है?

पुनश्च: आपके प्रश्न में आपके पास एक जावास्क्रिप्ट वस्तु है, JSON नहीं है। JSON एक जावास्क्रिप्ट वस्तु का 'स्ट्रिंग' संस्करण है