Node.js不是从API

时间:2016-06-21 00:10:27

标签: javascript json node.js api

所以,我正在通过Node.js从API获取信息,API服务器返回的文件是一个JSON文件,我尝试通过JSON.parse();解析它但是没有无济于事。我尝试通过https.request();http.get();request(url, function);调用api,我可以将返回的值放入process.stdout.write(returnedJson); ..但我可以& #39; t得到它可以遍历值,甚至选择一个特定的值。

以下是我从api获得的JSON示例...

{
    status: 0,
    data: [
       {
       TripId: 12442,
       Name: John Doe, 
       Date: April 1, 1970
       }, 

       {
       TripId: 35314,
       Name: Jane Doe,
       Date: April 2, 1970
       }

    ]
}

当我使用JSON.parse(returnedJson);时,如果我尝试使用[object Object]

,我通常会从console.log(returnedJson);获得currentPage

任何帮助都会很棒!如果我需要添加更多信息,请告诉我,我会的!

3 个答案:

答案 0 :(得分:1)

您收到的是记录的对象。如果要正确记录,请执行console.log(JSON.stringify(response, null, " "));

(引号之间的空格是4个空格 - 仅用于打印nicelooking)。

答案 1 :(得分:0)

首先,我要检查您的response是否有有效数据 你可以这样做: str = JSON.stringify( response ); console.log( str ); 如果它有效,那么只需使用响应: console.log( response.status ); console.log( response.data[0] ); etc...

[object object]通常意味着您已经拥有了一个javascript对象。无需解析它。

答案 2 :(得分:0)

根据您使用的框架,您要么获取String或Object。 (看起来你正在获得一个对象)。要查看您获得的内容,请使用:

console.log(typeof(response));

如果是字符串,请使用:

response = JSON.parse(response);

将其变为对象。

一旦有了对象,就可以使用“点”符号等方式访问属性,就像任何其他javascript对象一样:

如:

console.log(response.status);
console.log(response.data[0].TripId);
console.log(response.data[1].TripId);