我正在尝试从imgur api访问图片搜索结果,而我得到的图片响应格式为
{
"data":[...images...],
"success":true,
"status":200
}
当我尝试从api响应中访问数据密钥时,我得到了未定义的值
var express = require('express');
var app = express()
// node module to get api data
var request = require('request')
app.get('/searchimage/:value', function (req, res) {
var options = {
url: 'https://api.imgur.com/3/gallery/search/1?q=dragon',
headers: {
Authorization: "Client-ID ae63041e2274e37"
}
}
request(options, function (request, resp, body) {
// outputs undefined
console.log(body["data"])
// outputs undefined
console.log(body.data)
// outputs data as described in the above response format
console.log(body)
res.send(body)
})
})
我在哪里犯了错误?
答案 0 :(得分:1)
您获得的body
只是一个JSON字符串,因此它没有名为data
的属性。使用JSON.parse
将JSON字符串转换为相应的Object。
console.log(JSON.parse(body).data)