NodeJS: JSON数组-解析/解码数组



我有一个JSON数组:

{
"status": 200,
"user": "niebauer",
"channels": [
{
"name": "maxmustermann",
"followers": 17193,
"views": 650255,
"partnered": false
},
{
"name": "harrypotter",
"followers": 21487,
"views": 5110,
"partnered": false
},
{
"name": "welten",
"followers": 1017,
"views": 9318,
"partnered": false
},
{
"name": "meeresbuecher",
"followers": 5141,
"views": 61411,
"partnered": false
},
{
"name": "weltrekord",
"followers": 171777,
"views": 17832138,
"partnered": true
},
{
"name": "tvtotaler",
"followers": 2117,
"views": 21300,
"partnered": false
},
{
"name": "kramkiste",
"followers": 6819,
"views": 30414,
"partnered": false
}
],
"cursor": ""
}

现在我想在我的输出中只有来自通道的名称。应该是:maxmustermannharrypotter世界里…

如何在Node.js中做到这一点?我用它找到了很多问题,但没有真正的答案。其中大部分是2012年或更早的作品。谢谢。

其中有7个通道。我怎样才能拿到柜台呢?所以我得到一个输出"7"?

use.map

console.log(data.channels.map((channel) => channel.name)) 
// ["maxmustermann" ,"harrypotter", "welte",...]

这里你可以尝试这个逻辑并获得计数器:

let obj = {
status: 200,
user: "niebauer",
channels: [
{
name: "maxmustermann",
followers: 17193,
views: 650255,
partnered: false,
},
{
name: "harrypotter",
followers: 21487,
views: 5110,
partnered: false,
},
{
name: "welten",
followers: 1017,
views: 9318,
partnered: false,
},
{
name: "meeresbuecher",
followers: 5141,
views: 61411,
partnered: false,
},
{
name: "weltrekord",
followers: 171777,
views: 17832138,
partnered: true,
},
{
name: "tvtotaler",
followers: 2117,
views: 21300,
partnered: false,
},
{
name: "kramkiste",
followers: 6819,
views: 30414,
partnered: false,
},
],
cursor: "",
};
let result = obj.channels.reduce((prev, curr, index) => {
prev.name.push(curr.name);
prev.count++;
return prev;
},
{ name: [], count: 0 }
);
console.log(result);

只需使用。map函数:

const channelNames = data.channels.map((channel) => channel.name);
console.log(channelNames);

或者使用.forEach方法遍历条目,然后将每个名称压入数组,如下所示:

const channelNames = [];
data.channels.forEach((channel) => {
channelNames.push(channel.name);
});
console.log(channelNames);

最新更新