4

プロパティキーの句読点は、シンボリックハッシュキーを使用するRubyなどの言語で開発者のユーザビリティの問題を引き起こす可能性があります。Javascriptでは、これらの文字により、開発者はプロパティアクセスにドット表記を使用できません。

4

1 に答える 1

7

JSON仕様では、オブジェクトの名前と値のペアでハイフンやその他の文字を使用することを明示的に禁止していません。

それが素晴らしいアイデアかどうかは別ですが、ほとんどの言語では、JavaScriptなどの特殊文字をキーとして扱うのに問題はありません。

var x = {"a-b": "hello"};
console.log(x['a-b']); // prints "hello"

a-bは有効なプロパティ名ではないため、期待どおりに機能しませんが、JavaScriptには、表記法x.a-bを使用したオブジェクトの逆参照の代替構文があります。[]

別の例、PHP:

$x = json_decode('{"a-b": "hello"}');
echo $x->{'a-b'};

繰り返しますが、$x->a-b機能しないため、PHPは->{}表記法を使用した間接参照をサポートしています。

于 2012-11-27T05:40:55.593 に答える