在创建Telegram机器人时,无法读取未定义的属性“变量”

时间:2017-12-28 13:46:53

标签: javascript json node.js

我相信你们都遇到了这个问题,但如果有任何可以帮助我会很高兴 我真的确定我的代码中没有写错误。
我正在尝试制作一个发送歌词的机器人,但是正在返回一个JSON文件。当我尝试从文件中打印WHATEVER语句时,它会抛出上述错误。
这是代码:

const Genius = require("node-genius");
const geniusClient = new Genius('some API');

geniusClient.search('blank space', function gotData(err, data){
    console.log(data.meta.status);
});

输出JSON文件有很多分支,但这里是我不需要的元部分,只是为了简单起见。

{
    "meta": {
        "status": 200
    },
    "response": {
        "hits": [
            {
                "highlights": [],
                "index": "song",
                "type": "song",
                "result": {
                    "annotation_count": 27,
                     stuff..........stuff

1 个答案:

答案 0 :(得分:1)

您收到一个字符串,尝试将其转换为JSON.parse()的对象:

var obj = JSON.parse(data);
console.log(obj.meta.status);