से प्रतिक्रिया में उसी क्रम में नहीं हैं, मेरे पास JSON स्ट्रिंग के सर्वर से बहुत बड़ी प्रतिक्रिया है। मैंने इसे JSON ऑब्जेक्ट में परिवर्तित कर दिया और फिर चाबियां प्राप्त की और इसे फिर से चालू कर दिया।जब JsonObject की चाबियाँ पुनरावृत्त होती हैं तो वे सर्वर
समस्या यह है कि जब मैं पुनरावृत्ति करता हूं तो यह सर्वर से प्रतिक्रिया के समान क्रम में नहीं है।
इसके बाद मैं List<String>
में सभी चाबियाँ जोड़कर एक और विधि लागू करता हूं और इसे क्रमबद्ध करता हूं और उसके बाद इसे फिर से प्राप्त करता हूं लेकिन फिर भी यह आवश्यक नहीं है (प्रतिक्रिया में)।
कोड उदाहरण यहाँ है:
JSONObject jsonObject = new JSONObject(responseString);
Iterator<String> myIter = jsonObject.keys();
List<String> sortKey = new ArrayList<String>();
while(myIter.hasNext()){
sortKey.add(myIter.next());
}
Collections.sort(sortKey);
धन्यवाद आदमी लेकिन कृपया अगले प्रश्न को अभी देखें। http://stackoverflow.com/questions/7053915/how-to-parse-a-jsonobject-using-jsonarray-that-have- गतिशील-ids-in-start-as-inte – mastermind
ईमानदार होने के लिए मुझे नहीं लगता यह जवाब 100% सच है। उदाहरण के लिए, एक मुद्रा विनिमय सरणी के लिए, यह {name -> info} जोड़े हो सकता है और नाम को "महत्वपूर्ण" कैसे किया जा सकता है, यानी USD पहला है आदि। निश्चित रूप से आप इन पेरिस को सरणी प्रविष्टियों में डाल सकते हैं, लेकिन फिर सिर्फ एक अतिरिक्त घोंसला है। मेरा मुद्दा यह है कि "शब्दकोश" ऑब्जेक्ट में वस्तुओं के क्रम के अर्थपूर्ण होने के लिए बहुत अच्छे कारण हो सकते हैं। यदि यह जेसन स्पेक का हिस्सा नहीं है, तो spec गलत है, न कि लोग अपनी डेटा संरचना को यथासंभव स्वच्छ और सरल रखना चाहते हैं। –
@ superarts.org: सवाल यह नहीं है कि जावास्क्रिप्ट ऑब्जेक्ट की चाबियाँ * का आदेश दिया जाना चाहिए। प्रश्न एक जावास्क्रिप्ट ऑब्जेक्ट की चाबियाँ हैं * आदेश दिया गया है। और वे नहीं हैं। –