1

以下のようにJSON構造を持っています

var myJSON = {
               "userTypes": {
                     "@type": "Array",
                     "type": [
                               "Administrator",
                               "Customer",
                               "Guest"
                              ]
                            }
             }

アクセスしようとすると、「 SyntaxError: Unexpected token ILLEGALmyJSON.userTypes.@type 」というエラーが表示されますが、このようにアクセスすると、配列にアクセスできます。myJSON.userTypes.type

だから私の質問は、

  1. @ 記号は、存在してもキーに関係ありませんか?
  2. これはどのような影響をもたらしますか?

よろしく、

ナビン

4

3 に答える 3

8

JavaScript オブジェクトのプロパティにアクセスするときは、ドット表記または角括弧表記を使用できます。

ドット表記を使用すると、識別子として表現できるプロパティにのみアクセスできます。識別子は@文字で始めることはできません。

アクセスしようとしているプロパティは識別子で表すことができないため、角括弧表記に限定されます。そのような:

myJSON.userTypes['@type']
于 2012-05-18T17:13:05.307 に答える
3

これを行う必要があります: myJSON.userTypes["@type"]. その後、好きなだけ使用できます@。私が示したように、キーは文字列を介してプロパティを参照しています。

于 2012-05-18T17:11:32.333 に答える
3

問題は、識別子を "@" で始めることは構文的に有効ではないということです。そのキーにアクセスするには、する必要がありますmyJSON.userTypes['@type']

于 2012-05-18T17:12:01.307 に答える