2009-10-15 12 views
8

मैं इसकैसे JSON.parsed वस्तु जावास्क्रिप्ट में

{"2222":{"MId":106607, 
"Title":"VIDEOCON Semi Automatic Marine 6.8kg", 
"Name":"washma01", 
}} 

तरह प्रारूप में JSON.parse और जावास्क्रिप्ट चर "अस्थायी" में हो रही उत्पादन किया था मैं

alert(temp[0][0]); 
alert(temp.2222[0].MId); 

लेकिन उत्पादन नहीं मिल रहा है की तरह की कोशिश की एक्सेस करने के लिए।

मैं जावास्क्रिप्ट में इस डेटा को कैसे एक्सेस करूं?

उत्तर

18
alert(temp["2222"].MId); 

आप संख्यात्मक अनुक्रमण का उपयोग नहीं कर सकते, क्योंकि कोई वास्तविक सरणी नहीं है। यदि कुंजी का पहला अक्षर गैर-संख्यात्मक है तो आप डॉट सिंटैक्स का उपयोग कर सकते हैं। उदा .:

var temp = JSON.parse('{"n2222":{"MId":106607, "Title":"VIDEOCON Semi Automatic Marine 6.8kg", "Name":"washma01", }}'); 
alert(temp.n2222.MId); 
0

तुम इतनी अस्थायी [ '2222'] [ 'मध्य'] की तरह चर का उपयोग करने की जरूरत है, यही कारण है कि आप मध्य का मूल्य दे देंगे। भले ही मैंने मूल्य प्राप्त करने की [] विधि का उपयोग करके दिखाया है, नीचे दिए गए उत्तरों भी काम करते हैं।

आप इस परीक्षण को फायरबग में नीचे चला सकते हैं।

var ss = {"2222":{"MId":106607, "Title":"VIDEOCON Semi Automatic Marine 6.8kg", "Name":"washma01"}}; 
console.log(ss['2222']['MId']); 
3

इस प्रयास करें:

temp["2222"].MId 

आमतौर temp.bar और temp["bar"] बराबर जावास्क्रिप्ट बयान कर रहे हैं, लेकिन इस मामले में अपनी संपत्ति नाम से एक संख्या के साथ शुरू होता है। जब ऐसा होता है तो आपको इंडेक्स (उर्फ ब्रैकेट) नोटेशन का उपयोग करने के लिए मजबूर किया जाता है।

0

आप एक अच्छे json स्वरूपित वस्तु है, लेकिन आप कुंजी पता नहीं है जब (यहां यह एक आईडी की तरह लग रहे) आप कर सकते हैं इस तरह acces:

var keys = Object.keys(json_obj); 
for (var i = 0; i < keys.length; i++) { 
    console.log(keys[i]); 
    console.log(json_obj[keys[i]].MId); 
}; 
संबंधित मुद्दे