如何访问数组中的json数据?

时间:2016-07-28 10:56:30

标签: javascript json jsonp

我需要一些json值的帮助。我的数据是 -

[  
   {  
      "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"
   }
]

我需要访问令牌。我如何访问令牌?

提前致谢

3 个答案:

答案 0 :(得分: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);




答案 1 :(得分:0)

假设您已经解析了JSON(并且它是有效的JSON,它不在问题中)并将结果分配给data,您可以像这样访问它:

data[0].body.token

...因为:

  • data指的是数组
  • [0]访问数组中的第一个条目,该条目引用一个对象
  • .body访问该对象的body属性值,该值引用另一个对象
  • .token访问该对象的token属性值

E.g:

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

答案 2 :(得分:0)

这是解决方案

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