मेरे पास निम्न जेसन है, दुर्भाग्य से इस आउटपुट पर मेरा कोई नियंत्रण नहीं है।JSON को एक कुंजी के रूप में संख्या के साथ पार्स कैसे करें
{
"questions": {
"9733": {
"text": "Star Trek or Star Wars?",
"answers": {
"41003": "Star Trek",
"41004": "Star Wars",
"41005": "Neither is superior in my opinion; both great in their own ways",
"41006": "Not a fan",
"41007": "I don't have an opinion on this"
}
},
"25272": {
"text": "Which of these summer movies are you looking forward to the most?",
"answers": {
"99545": "World War Z",
"99546": "Monsters University ",
"99547": "White House Down",
"99548": "Man of Steel",
"99549": "Lone Ranger",
"99550": "The Wolverine"
}
},
"27547": {
"text": "Should the U.S. attack Syria?",
"answers": {
"107453": "Yes",
"107454": "No"
}
}
}
}
मैं इसका विश्लेषण करने के लिए json.parse का उपयोग कर रहा हूं। पहले प्रश्न का पाठ प्राप्त करने के लिए मैं सामान्य रूप से ऐसा कुछ करता हूं।
var jsonData = JSON.parse(data);//Where data = the json above
console.log(jsonData.questions.9733.text);//Obviously this fails
हालांकि जावास्क्रिप्ट को उस संख्या को स्पष्ट रूप से पसंद नहीं है। आप पहले प्रश्न के पाठ तक पहुंचने की सलाह कैसे देंगे? मैं जेसन को इसके बजाय प्रश्नों की एक श्रृंखला में बेहतर सेटअप करना पसंद करूंगा। दुर्भाग्यवश मेरे पास इस JSON के आउटपुट पर कोई नियंत्रण नहीं है।
मुझे यह भी पता नहीं चल रहा है कि चाबियाँ क्या हैं, लेकिन यह एक अन्य मुद्दा है। मैं इस बात का विश्लेषण करने के बारे में किसी भी सुझाव का मनोरंजन करना चाहता हूं क्योंकि मुझे इस तरह के अजीब JSON आउटपुट को कभी भी पार्स नहीं करना पड़ा।
मैं सिर्फ 'jsonData [ 'सवाल'] का प्रयोग करेंगे
जावा कोड [ '9733'] [ 'पाठ']' ' – NullUserException
jsonData.questions [9733] .text' काम करना चाहिए। 'foo.bar' और' foo ['bar'] 'जेएस में समकक्ष हैं। – IMSoP