3

この問題に関して、Java から動的に文字列を生成しました。文字列形式が変更されるたびに、たとえば文字列形式が

[{"BranchName":"Corporate Office","Date":"08\/03\/2013","SPName":"Pharmacy","SPAmount_5-00%":"100.00","SPVATAmount_5-00%":"15.00","SPOtherCharges_5-00%":"30.00","SPAmount_14-50%":"200.00","SPVATAmount_14-50%":"39.00","SPOtherCharges_14-50%":"71.00","SPColTPA":"100.00","SPColChequeDD":"50.00","SPHdfcCC":"100.00","SPIdbiCC":"100.00","SPColCash":"50.00","Difference":"55.00"},

しかし、次のコードで配列コレクションを変換すると。

var rawData:String = String(event.result); 
var arr:Array = (JSON.decode(rawData) as Array);
var dp:ArrayCollection = new ArrayCollection(arr);

ただし、配列のコレクションの順序は [Branch, Date, Difference,.. ] のようにデフォルトの並べ替えとして変更されました。しかし、私は文字列形式の順序と同じにしたいです。では、デフォルトの順序を防ぐにはどうすればよいですか。

4

1 に答える 1

2

実際、ここで説明したのはオブジェクトの配列です (例にはオブジェクトが 1 つだけ含まれています)。配列への JSON 解析では、各オブジェクトは宣言された順序になっています。ただし、作成される OBJECTS では、プロパティが同じ順序でリストされない場合があります。

例えば:

'[ {"Branch":"Corporate", "Department":"Finance", "Cost":"10000", "Attended":"true"},' +
'{"Branch":"Las Vegas", "Department":"Hospitality", "Cost":"20100", "Attended":"false"},' +
'{"Branch":"San Diego", "Department":"Banking", "Cost":"11023", "Attended":"true"}]'

解析すると、Corporate オブジェクトとして arr[0]、Las Vegas オブジェクトとして arr[1] などが返されます。取得したプロパティを反復すると、次のようになります。

var obj:Object = dp.getItemAt(0);
for (var prop:String in obj) {
    trace(prop + ' is ' + obj[prop]);
}

Department is Finance
Attended is true
Branch is Corporate
Cost is 10000
于 2013-06-28T15:19:22.943 に答える