无法访问imgur api的json数据

时间:2017-11-24 21:30:54

标签: json express imgur

我正在尝试从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)

            })

        })

我在哪里犯了错误?

1 个答案:

答案 0 :(得分:1)

您获得的body只是一个JSON字符串,因此它没有名为data的属性。使用JSON.parse将JSON字符串转换为相应的Object。

console.log(JSON.parse(body).data)