使用nodejs解析JSON
Using nodejs to parse JSON
所以,我正在使用 nodejs 来解析 json,我想获取一个对象,它是一个数组,并在 for each 循环中使用值。
JSON 我得到:http://tmi.twitch.tv/group/user/loneztar/chatters
var cronUsers = client.utils.cronjobs('1 * * * * *', function() {
console.log('API Test');
console.log('Response from Twitch Chat:');
request('http://tmi.twitch.tv/group/user/loneztar/chatters', function (error, response, body) {
if (!error && response.statusCode == 200) {
data = JSON.parse(body);
console.log(data.chatters.viewers);
//for each string in the viewers
}
})
});
以上是我用来检索数据的代码。当我登录到控制台时,我得到以下信息(在询问时):
[ 'duckziller72',
'adanaran',
'nyckeln',
'diabolicalsheep69',
'audery101',
'gone_nutty',
'k4unl',
'eidokan',
'mattesolo',
'siland',
'nullvoid8',
'troy00114',
'sixdev',
'jake_evans',
'doctoranguus',
'juicegraip',
'k4rush' ]
现在我想在 for each 循环中使用它们中的每一个字符串。我试过使用我正在使用的数据变量,但我无法正常工作。将不胜感激一些帮助!欢迎询问其他内容,我会很乐意编辑。
有几种不同的方法可以做到这一点。
使用循环计数器:
var viewers = data.chatters.viewers;
var numViewers = viewers.length;
for (var i = 0; i < numViewers; i++) {
var viewer = viewers[i];
console.log(viewer);
}
使用'for .. in':
var viewers = data.chatters.viewers;
for (var i in viewers) {
var viewer = viewers[i];
console.log(viewer);
}
您可能一直在尝试使用它,但循环变量包含数组的索引,而不是值。
使用Array.prototype.forEach():
data.chatters.viewers.forEach(function(viewer) {
console.log(viewer);
});
请注意,其中 none 特定于 Node.js 或 JSON 响应。
所以,我正在使用 nodejs 来解析 json,我想获取一个对象,它是一个数组,并在 for each 循环中使用值。
JSON 我得到:http://tmi.twitch.tv/group/user/loneztar/chatters
var cronUsers = client.utils.cronjobs('1 * * * * *', function() {
console.log('API Test');
console.log('Response from Twitch Chat:');
request('http://tmi.twitch.tv/group/user/loneztar/chatters', function (error, response, body) {
if (!error && response.statusCode == 200) {
data = JSON.parse(body);
console.log(data.chatters.viewers);
//for each string in the viewers
}
})
});
以上是我用来检索数据的代码。当我登录到控制台时,我得到以下信息(在询问时):
[ 'duckziller72',
'adanaran',
'nyckeln',
'diabolicalsheep69',
'audery101',
'gone_nutty',
'k4unl',
'eidokan',
'mattesolo',
'siland',
'nullvoid8',
'troy00114',
'sixdev',
'jake_evans',
'doctoranguus',
'juicegraip',
'k4rush' ]
现在我想在 for each 循环中使用它们中的每一个字符串。我试过使用我正在使用的数据变量,但我无法正常工作。将不胜感激一些帮助!欢迎询问其他内容,我会很乐意编辑。
有几种不同的方法可以做到这一点。
使用循环计数器:
var viewers = data.chatters.viewers;
var numViewers = viewers.length;
for (var i = 0; i < numViewers; i++) {
var viewer = viewers[i];
console.log(viewer);
}
使用'for .. in':
var viewers = data.chatters.viewers;
for (var i in viewers) {
var viewer = viewers[i];
console.log(viewer);
}
您可能一直在尝试使用它,但循环变量包含数组的索引,而不是值。
使用Array.prototype.forEach():
data.chatters.viewers.forEach(function(viewer) {
console.log(viewer);
});
请注意,其中 none 特定于 Node.js 或 JSON 响应。