2009-06-30 5 views
3

私は、構造体などの配列としてCFで表されたデータがあります。ColdFusionを停止

var foo = [{key = 'bar', value = 'baz', ... }...]; 

この構造は、順次上で反復し、その後のように見える他の関連する構造体に翻訳さ:

foo2[key] = {key = 'bar', value = 'baz', ...}; 

これは、次にSerializeJSON()メソッドに送信され、ブラウザに送信されます。問題は、fooまたはfoo2のいずれかのキーの順序が、追加された順序ではなく、アルファベット順であることです。これは、このコレクションがもう一度繰り返され、注文されることが予想されるため、クライアント側で問題を引き起こしています。助言がありますか?

答えて

10

あなたのコレクションが注文される予定の場合は、配列を使用する必要があります。

構造体は順序を保証するものではありません。そのような構造体はそのまま使用しないでください。

+1

配列を使用する代わりに、構造体を保持し、必要な順序で構造体キーを含む配列を含めることもできます。そうすれば、予測可能な反復*と*キーによる高速アクセスオブジェクトの両方を持つことができます。 – Tomalak

+3

またはtry:http://java.sun.com/javase/6/docs/api/java/util/LinkedHashMap.html – Henry