0

JSONObjectのコアロジックが順序付けられていないセットである理由やコアロジックを理解したいと思います。ほとんどの場合、時間/位置の順にJSONObjectとして応答する必要があるリクエストがあるためです。検索したところ、JSONArrayを使用するように言っているメンバーがたくさん見つかりましたが、これは良い解決策ではないと思います。

先に進む前に、明確なアイデアを得たいと思います。

前もって感謝します。

4

3 に答える 3

3

JSONObjectJSONで記述されたオブジェクトは、仕様により順序付けされていないため、順序付けされていません。

オブジェクトは、名前と値のペアの順序付けられていないセットです。

(これは、JSONがJavaScriptのオブジェクト初期化構文から派生しており、JavaScriptオブジェクトが順序付けされていないためです。一般的な場合、オブジェクトのプロパティが順序付けられる理由がないためです。これは、 JavaScriptの配列のようなオブジェクト。これは、プロパティ名を特別に処理するオブジェクトと、関連する配列のような関数にすぎません。)

于 2012-07-23T12:08:28.620 に答える
0

JSONObjectsはJavaScriptオブジェクトのサブセットであるため、真の完全な理由は、ECMAScript仕様を完成させたECMA委員会のメンバーだけが知っています。しかし、これが私の推測です。

JSONオブジェクトのプロパティが固定された順序を維持することを要求すると、データ構造に追加の実装オーバーヘッドが追加される可能性があります。たとえば、JSONオブジェクトを単純なハッシュテーブルとして実装できます。ただし、プロパティの順序を固定したままにする場合は、それらの順序を一覧表示するために追加のデータ構造が必要になります。

于 2012-07-23T12:09:06.460 に答える
0

JavaScriptがオブジェクトプロパティの順序を規定している場合、その実装でハッシュテーブルを使用することはできません。一方、そもそもオブジェクトのプロパティが順序付けられるのはなぜですか?ご覧のとおり、これは恣意的な制約のように思われ、広範囲にわたる悪影響があります。

于 2012-07-23T12:14:15.643 に答える