3

ここで単純なものが欠けているに違いありませんが、JSON 配列の応答からデータを取得するのに問題があります。文字で始まる識別子を持つオブジェクトにはアクセスできますが、数字で始まるオブジェクトにはアクセスできません。

たとえば、私はアクセスできます

data.item[0].specs.overview.details

でもアクセスできない

data.item[0].specs.9a99.details
4

5 に答える 5

5

識別子リテラルは、数字リテラルと混同されるため、数字で始めてはなりません。この場合、ブラケット構文を使用する必要があります。

 data.item[0].specs["9a99"].details
于 2010-04-25T22:40:18.690 に答える
5

括弧表記を使用する

あれは:

data.item[0].specs["9a99"].details
于 2010-04-25T22:40:53.153 に答える
2

これを試して、

data.items[0].specs["9a99"].details
于 2010-04-25T22:40:22.667 に答える
2

JavaScript の変数名は数字で始めることはできません。それがうまくいかない理由です。

于 2010-04-25T22:42:20.637 に答える
2

Javascript は数字で始まる変数や識別子を好まないため、このリファレンスでは次のように述べています。

Any variable name has to start with
_ (underscore) 
$ (currency sign) 
a letter from [a-z][A-Z] range 
Unicode letter in the form \uAABB (where AA and BB are hex values)

有効な最初の文字です。

于 2010-04-25T22:43:59.073 に答える