ForIn循环有效,但返回没有意义

时间:2019-07-18 02:18:58

标签: javascript api ecmascript-6 request for-in-loop

我只想console.log从api调用返回的json的两个属性。我从未使用过请求库。当我尝试遍历主体时,它仅返回字符串,并且可以看到换行器。我使用axios拨打了电话,并毫无问题地遍历了...

我尝试使用for,forin和object条目。我不明白输出。

const request = require("request");

async function GetPosts() {
    await request("https://jsonplaceholder.typicode.com/posts", function (error, response, body) {
        for (const key in body) {
            if (body.hasOwnProperty(key)) {
                const element = body[key];
                console.log(element);
            }
        }
    });
}
GetPosts();

我只想从json结果中打印标题和正文属性。

1 个答案:

答案 0 :(得分:1)

您需要调用JSON.parse()将响应主体解析为一个对象。

然后,当您遍历数组的元素时,应仅打印所需的属性,而不是整个对象。

const request = require("request");

async function GetPosts() {
    await request("https://jsonplaceholder.typicode.com/posts", function (error, response, body) {
        body = JSON.parse(body);
        body.forEach(item => {
            console.log(item.title, item.body);
        });
    });
}
GetPosts();