无法访问 imgur api 的 json 数据

unable to access json data of imgur api

我正在尝试访问来自 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)

            })

        })

有没有提示我哪里出错了?

你得到的body只是一个JSON字符串,所以它没有属性命名为data。使用JSON.parse将JSON字符串转换为对应的Object.

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