我如何阅读这些json数据?

我如何阅读这些json数据?

问题描述:

我知道这听起来很荒谬,但我一直在试图读取从谷歌地图API的这些JSON数据,但似乎都没有它的工作原理我如何阅读这些json数据?

下面的代码

app.get('/distance', function(req, res, next) { 
    request('https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=' + config.GOOGLE_DISTANCE_API, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) 
    } 


    }); 
}); 

体将返回该数据

{ 
    "destination_addresses" : [ "New York, NY, USA" ], 
    "origin_addresses" : [ "Washington, DC, USA" ], 
    "rows" : [ 
     { 
     "elements" : [ 
      { 
       "distance" : { 
        "text" : "225 mi", 
        "value" : 361715 
       }, 
       "duration" : { 
        "text" : "3 hours 49 mins", 
        "value" : 13725 
       }, 
       "status" : "OK" 
      } 
     ] 
     } 
    ], 
    "status" : "OK" 
} 

当我尝试CONSOLE.LOG body.destination_addresses和以及body.rows,这一切显示了不确定的。我如何访问它?

+0

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse – Quentin

首先需要解析JSON数据:

var obj = JSON.parse(body); 

现在你可以如果您正在使用jquery使用$.getJSON方法至极将获得和解析JSON你访问obj.destination_addresses

正如西蒙所说。您还可以在请求调用中设置一个选项对象,其中{ json: true }和响应正文将被自动解析为json