gpt4 book ai didi

javascript - 使用 Node.js 读取、解析、迭代 JSON

转载 作者:行者123 更新时间:2023-12-02 15:21:21 24 4
gpt4 key购买 nike

我正在尝试解析 Reddit 的 RSS 源以获取头版文章的标题,但遇到了一些麻烦。源码如下:

//var util = require('util');
//var cheerio = require('cheerio');

var fs = require('fs');
var request = require('request');

var parseString = require('xml2js').parseString;

url = 'http://www.reddit.com/.xml';

request(url, function(error, response, xml){

parseString(xml, function(err, result) {

result = result.rss.channel[0];

console.log(result.item[0]['title']); // works fine, gets first title

for(var key in result){
console.log(result[key]['title']); // returns a bunch of 'undefined'
}

//console.log(util.inspect(result,false,null));

fs.writeFile("index.html", result, function(err){
if(err) { return console.log(err); }
return console.log("File saved.");
});
});
});

最佳答案

您会得到undefined,因为您应该迭代result.item,而不仅仅是result。例如:

for(var key in result.item) {
console.log(result.item[key]['title']);
}

此外,您应该只使用常规的 for 循环,而不是使用 for..in,因为它看起来像 result.item只是一个普通数组。例如:

var items = result.item;
for (var i = 0; i < items.length; ++i) {
console.log(items[i].title);
}

关于javascript - 使用 Node.js 读取、解析、迭代 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34026802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com