2016-10-08 19 views
1

Ich versuche, auf den Wert von usertype im Ergebnis zuzugreifen, bin aber nicht dazu in der Lage. Ich habe versucht, so etwas wie unten, wo die Daten immer bin, ist das unten stehende JSONZugriff auf Objekt von einem Objekt

if(data.result.usertype === 2){ 
    console.log("redirect to type 2 user") 
} 
else if(data.result.usertype === 3){ 
    console.log("redirect to type 3 user") 
} 

Und die JSON ist als unten

{ 
    "success": true, 
    "token": "abc", 
    "result": { 
    "_id": "57bd7c857e8d30893a9fc45b", 
    "usertype": "2", 
    "created_date": "1472035973314" 
    } 
} 

Antwort

1

Sie == verwenden sollten, Normaly === ist streng Typ Gleichheitsoperator. Es prüft nicht nur, ob zwei gleichwertig sind, sondern auch vom selben Typ. In Ihrem Fall ist es eine Zeichenfolge,

So == verwenden, die für die Gleichstellung nur gerade überprüft

if(data.result.usertype == 2){ 
    console.log("redirect to type 2 user") 
} 

EDIT:

Da Sie bereits die result.usertype wissen ein String ist, können Sie kleben Sie auf die gleiche Weise und verwenden Sie es wie folgt,

+0

Wenn @nsr sicher weiß, dass der JSON so bleiben wird, würde ich mit 'data.result.u gehen Sertype === "2" '. Es ist immer besser, strenge Gleichheit zu verwenden, wenn Sie den Typ Ihrer Variablen kennen. – ValLeNain

+0

@ValLeNain Ja gültig, änderte die Antwort – Sajeetharan