Javascript 在请求节点JSON中返回JSON主体的特定变量
我有一段代码,对我来说非常好,它给我带来了JSON的主体,但我不想要整个主体,我想要同一主体的一个特定变量,这就是代码Javascript 在请求节点JSON中返回JSON主体的特定变量,javascript,node.js,json,httprequest,Javascript,Node.js,Json,Httprequest,我有一段代码,对我来说非常好,它给我带来了JSON的主体,但我不想要整个主体,我想要同一主体的一个特定变量,这就是代码 var请求=要求(“请求”); 变量选项={ 方法:“GET”, 网址:'https://xxx', qs:{stats:'true',events:'true'}, 标题:{ “x-rapidapi-host”:“xx”, “x-rapidapi-key”:“xxx” } }; 请求(选项、功能(错误、响应、正文){ 如果(错误)抛出新错误(错误); 控制台日志(主体);
var请求=要求(“请求”);
变量选项={
方法:“GET”,
网址:'https://xxx',
qs:{stats:'true',events:'true'},
标题:{
“x-rapidapi-host”:“xx”,
“x-rapidapi-key”:“xxx”
}
};
请求(选项、功能(错误、响应、正文){
如果(错误)抛出新错误(错误);
控制台日志(主体);
**log('HOME NOMBRE:'+body.results.id)**
});代码>如果您的API返回一个对象数组,而您只需要一个对象属性的值数组,请使用map
let结果=[{
“id”:1,
“idSeason”:949,
“季节名称”:“2020年”,
“idHome”:2069,
“homeName”:“MyHome”,
“艾德威”:207
}, {
“id”:2,
“idSeason”:950,
“季节名称”:“2021年”,
“idHome”:2070,
“homeName”:“MyHome2”,
“艾德威”:208
}]
//土生土长的
log(results.map(e=>e.homeName))
//或者使用下划线
console.log(u.pull(结果为'homeName'))
//或者更小的物体
console.log(results.map(e=>uu.pick(e,'id','seasurename','idAway'))
我认为更好的方法就是使用ES6MAP
如果使用对象数组
const results = [{
"id": 1,
"idSeason": 949,
"seasonName": "2020",
"idHome": 2069,
"homeName": "MyHome",
"idAway": 207
}, {
"id": 2,
"idSeason": "x",
"seasonName": "x",
"idHome": "x",
"homeName": "MyHomex",
"idAway": "x"
}]
const formattedRes = results.map(singleObject =>{
// Here redeclare the object you want, here i want to return id,seasonName and homeName
return {
"id": singleObject.id,
"seasonName": singleObject.seasonName,
"homeName": singleObject.seasonName,
}
});
console.log(formattedRes);
结果将是
[ { id: 1, seasonName: '2020', homeName: '2020' },
{ id: 2, seasonName: 'x', homeName: 'x' } ]
要了解更多信息,API将返回一个对象数组,您需要一个只包含一个属性的数组,例如,对于“homeName”,您需要[“MyHome”、“SomeOtherHome”等]?这正是map或Underline Pulk()所做的。它对我来说是完美的!看一看