2017-11-21 4 views
-3

が返される。Javascriptのプロパティが定義され、私は、このJSONオブジェクト有する未定義

{ 
    "type": "SIGN_IN", 
    "credentials": { 
    "id": "[email protected]", 
    "password": "jhkl" 
    } 
} 

Iはobj.cedentialsにログインすると、それは(OBJとして)同じオブジェクトを示しします。私は同じように、IDにアクセスしようとすると

{ 
    "type": "SIGN_IN", 
    "credentials": { 
    "id": "[email protected]", 
    "password": "jhkl" 
    } 
} 

obj.credentials.id、それは未定義

enter image description here

を返しなぜこの出来事はありますか?それは後で評価されますか?

+7

てみましたすべきか? –

答えて

0

obj.cedentialsをログに記録すると、同じオブジェクト(objと同じ)が表示されます。

{ 
    "type": "SIGN_IN", 
    "credentials": { 
    "id": "[email protected]", 
    "password": "jhkl" 
    } 
} 

あなたがログインしたときにそうobj.cedentialsあなたはidプロパティを持つオブジェクトを含むcredentialsプロパティを持つオブジェクトを取得します。

obj.cedentialsは、id独自のプロパティを持っていません!

obj.cedentials.credentials.idが必要です。

+0

、 'cedentials'ではなく' credentials'と入力してください。私はあなたが借りたOPのタイプミスだと思う。 – Andy

3

credentialsオブジェクトにはcredentialsオブジェクトが含まれています。

ですから、以下を使用する必要があります。

console.log(obj.credentials.credentials.id); 

あなたobj変数の完全な内容は、実際に次のようである:

{ 
    "credentials": { 
     "type": "SIGN_IN", 
     "credentials": { 
      "id": "[email protected]", 
      "password": "jhkl" 
     } 
    }, 
    "type": "SIGN_IN", 
    ... 
} 
+1

よろしく、資格が好きだと聞いた – jayphelps

3

あなたのオブジェクトは、このように見えるように思える:

q = { 
    credentials: { 
     credentials: { ...id } 
    } 
} 

このIDにアクセスするには、使用する必要があります。q.credentials.credentials.id

0

それはあなたは `obj.credentials.credentials.id`を

console.log(q.credentials.credentials.id); 
+0

なぜここにdownvote? – Sajeetharan

関連する問題