0

私がfruitsというJSONオブジェクトを持っていて、これがその内容であるとしましょう。

"fruits":[{
    "name":"natural_one", 
    "kind"{
        0:"apple",
        1:"banana",
        2:"pear"
    }
}];

また、JSONObjectのコンテンツを新しいArrayListにコピーすると、以下の例のようにインデックスの順序が変わります。

"fruits":[{
    "kind"{
        1:"banana",
        2:"pear",
        0:"apple"
    },
    "name":"natural_one"
}];

コンテンツのコピーが行われるときにインデックスの順序が変更されないようにするにはどうすればよいですか?

4

2 に答える 2

3

これがあなたの問題かどうかはわかりませんが、JSONオブジェクトのプロパティには固有の順序はありません。

{"a":"b", 
 "c":"d"}

厳密に同等です

{"c":"d", 
 "a":"b"}
于 2012-05-01T13:22:27.300 に答える
2

インデックスの順序を変更せずにJSONObjectのコンテンツをコピーする方法の例を教えてもらえますか?

それは不可能。

このJSONObjectクラスは属性をハッシュテーブルに格納するため、シリアルJSON表現で属性の順序を表すことはできません。JSON仕様では、属性の順序は重要ではないと規定されているため、これで問題ありません。

これは、連想配列/オブジェクトのJavascriptstntaxであるJSONの起源に由来します。Javascriptアソシアティブのエントリには、定義された/重要な順序はありません。

于 2012-05-01T14:21:40.017 に答える