我正在使用https://swapi.co/中的数据在node.js中编写应用程序。我的一个功能需要检查我的数据库中是否存在指定的行星,当它没有,api应该从swapi下载行星的数据,但不知怎的,我无法检索有关行星名称指定的数据,我只能使用此链接提供的格式获取数据:https://swapi.co/api/planets/?format=json
方法代码:
router.route('/Planets')
.post(function (req, res) {
var planet = new Planet(req.body);
//validate planet.name here
Planet.find({name: planet.name}, function (err, planet) {
if (err) {
res.status(500).send(err);
}
if (planet == '') {
console.log("action: planet not found");
request.get(
'https://swapi.co/api/planets/?format=json',
{json: true},
function (error, response, body) {
console.log(body);
}
);
// planet.save();
res.status(201).send(planet);
} else {
res.status(201).send(planet);
}
})
})
.get(function (req, res) {
Planet.find(function (err, planets) {
if (err) {
res.status(500).send(err);
} else {
res.json(planets);
}
});
});
答案 0 :(得分:0)
这是JSON。
行星存储在results
中。
因此,结果是对象数组,现在您可以使用for
或in
遍历数组的所有元素。
你可以随意操纵,循环,过滤等等。
fetch("https://swapi.co/api/planets/?format=json")
.then(res => res.json())
.then(res => {
console.log(res);
// Array of planets stored in res.results
for (let i=0; i<res.results.length; i++) {
console.log("Name:", res.results[i].name, "Data:", res.results[i])
}
});
&#13;