2016-07-28 18 views
-2

Ich brauche etwas Hilfe für einen JSON-Wert. I Daten sind -Wie kann ich auf JSON-Daten im Array zugreifen?

[ 
    { 
     "statusCode":200, 
     "body":{ 
     "token":"xxxxx" 
     }, 
     "headers":{ 
     "date":"Thu, 28 Jul 2016 11:03:17 GMT", 
     "server":"Apache/2.2.15 (CentOS)", 
     "x-powered-by":"PHP/5.6.22", 
     "cache-control":"private, must-revalidate", 
     "etag":"\"9517ef72d528ad7a3bc04c64d1cc1cc9\"", 
     "set-cookie":[ 
      "XSRF-TOKEN=xxx; expires=Thu, 28-Jul-2016 13:03:17 GMT; Max-Age=7200; path=/", 
      "laravel_session=eyJpdiI6IkZITXdyTGtpZlRkc1hmQkptUWpZSEE9PSIsInZhbHVlIjoicGxLUmJxRzlcL2dGTTdVcVJiQ1g2QTh4enQxdDI5NElCbGJkVllKYVR0MG1LQTljaFhhUFJSUVVXTytheUxqajZjV3FVUkh2SUhPK0ZtelhIQjcxVk5nPT0iLCJtYWMiOiJkOTg1MWFiYjY5ZTdhNThkODk5N2Y1MmRlOWEwZWMwYWQ4MGE4ZDVjMWRjMGMwNjA0MTlmNjQ1YzNmNDM3NWVkIn0%3D; expires=Thu, 28-Jul-2016 13:03:17 GMT; Max-Age=7200; path=/; httponly" 
     ], 
     "vary":"Accept-Encoding", 
     "content-length":"305", 
     "connection":"close", 
     "content-type":"application/json" 
     }, 
     "request":{ 
     "uri":{ 
      "protocol":"http:", 
      "slashes":true, 
      "auth":null, 
      "host":"api.shobkichhu.com", 
      "port":80, 
      "hostname":"api.shobkichhu.com", 
      "hash":null, 
      "search":null, 
      "query":null, 
      "pathname":"/api/auth/login", 
      "path":"/api/auth/login", 
      "href":"http://api.shobkichhu.com/api/auth/login" 
     }, 
     "method":"POST", 
     "headers":{ 
      "content-type":"application/json", 
      "accept":"application/json", 
      "content-length":45 
     } 
     } 
    }, 
    { 
     "token":"xxxx" 
    } 
] 

Ich muss Token zugreifen. Wie kann ich auf Token zugreifen?

Vielen Dank im Voraus

+0

ist dies eine Antwort des Servers, oder was? Wie auch immer, 'response [0] .body.token' wird dir Token geben. – marmeladze

+0

JSON ist eine * textuelle Notation * für den Datenaustausch. [(Mehr)] (http://stackoverflow.com/a/2904181/157247) Wenn Sie mit JavaScript-Quellcode arbeiten und sich nicht mit einem * string * befassen, haben Sie es nicht mit JSON zu tun. Wenn das * als * JSON gemeint wäre, wäre es außerdem ungültig (Schlüssel und Zeichenfolgen müssen in doppelten Anführungszeichen stehen). –

Antwort

0

Dies ist die Lösung

var data =[ 
    { 
     "statusCode":200, 
     "body":{ 
     "token":"xxxxx" 
     }, 


    }, 
    { 
     "token":"xxxx" 
    } 
]; 


console.log(data[0].body.token); // for first token 
console.log(data[1].token); // for second token 
+0

überprüfen Sie auch https://jsfiddle.net/zahiruldu/eaj72zz6/ –

0

var myObj = [ 
 
    { 
 
     body: 
 
     { 
 
      token : 'xxxxxxx' 
 
     } 
 
    }, 
 
    { 
 
     other : 'aaa' 
 
    } 
 

 
]; 
 
console.log(myObj[0].body.token); 
 
//or other version 
 
var bodyObj = myObj.find(function(item){ return item && item.body}); 
 
console.log(bodyObj.body.token);

0

Angenommen Sie haben die JSON analysiert haben (und dass es gültig JSON, die es nicht in die Frage ist) und das Ergebnis an data zugewiesen, Sie Zugriff es wie folgt aus:

data[0].body.token 

... weil:

  • data bezieht sich auf ein Array
  • [0] in dem Array den ersten Eintrag zugreift, die
  • auf ein Objekt verweist
  • .body dass body Eigenschaftswert des Objektes zugreift, die zu einem anderen Objekt bezieht
  • .token dass Objekts zugreift token Eigenschaftswert

ZB:

var json = '[{"body":{"token":"xxxxxxx"}},{"other":"aaa"}]'; 
 
var data = JSON.parse(json) 
 
console.log(data[0].body.token);