1

RFCJSON.orgの両方を読みましたが、配列インデックスが 0 から始まるか 1 から始まるかについての参照が見つかりませんでした。もともと JS で「発見」されたものですが、誰もが 0 ベースだと思い込んでいますか?

例えば:

{ 
  "selectedItem": 1,
  "Items": ["boots", "gloves", "hat"]
}

選んだアイテムは「ブーツ」ですか、それとも「グローブ」ですか?

これが事実である場合 (0 から始まると仮定)、特にデフォルトで 1 から始まるインデックスを使用する言語で JSON サポートが実装されている場合、この仮定は潜在的に厄介ではありませんか?

4

2 に答える 2

2

配列インデックスは、JSON でカバーされる概念ではないと思います。JSON 配列は、特定の方法で記述された単なる順序付きセットです。

配列は、順序付けられた値のコレクションです。配列は[(左括弧) で始まり](右括弧) で終わります。,値は(カンマ)で区切られます。

それだけです。インデックス付けの問題はエンドポイントに委ねられます。最初の要素はインデックス 0、1、-10、または"pancakes"インデックスが配列内の要素の順序と一致している限り、JSON にまったく違いはありません。 .

詳細に戻ります。JSON プロデューサーを"selectedItem": 1参照する"boots"かどうか。"gloves"

于 2012-05-07T04:33:55.140 に答える
1

いいえ、必要ありません。JSON には配列インデックスのようなものはありません。そのselectedItemフィールドは単純な整数です。他のフィールドへの参照を保持している場合、それはデータ表記ではなく、アプリケーション ドメインにあります。

JSON は配列の要素を参照する手段を提供しないため、ベース インデックス番号は関係ありません。

于 2012-05-07T04:38:46.483 に答える