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-dynamic-ids-in-start-as-inte – mastermind
正直言って私は思っていませんこの答えは100%です。たとえば、通貨交換の場合は、{name - > info}のペアにすることができます。名前は "重要"で並べ替えることができます。すなわち、USDは1番目です。もちろん、これらのparisを配列エントリに入れたり、しかし、追加の巣があるだけです。私の指摘は、「ディクショナリ」オブジェクト内の項目の順序が意味をなされることが多い理由が多いことです。それがjson仕様の一部でない場合、仕様は間違っています。人々はデータ構造を可能な限りクリーンかつシンプルに保つことを望んでいません。 –
@ superarts.org:JavaScriptオブジェクト*のキーを注文する必要があるかどうかは問題ではありません。質問は、JavaScriptオブジェクト*のキーが順序付けされているかどうかです。そして彼らはそうではありません。 –