Converts both RSS and Atom feeds to JSONFeed format. A hosted version exists at feed2json.org.
Even though JSON has its problems, it is hundreds of times better than dealing with XML. Therefore, this package is designed to help you convert from RSS or Atom feeds into the JSONFeed format. At that point you know what you have and can deal with it more effectively. It will also convert any non-UTF8 feeds too since JSON is UTF8 by default.
This project contains the converter but does not fetch the feed for you. You must do that yourself.
Example showing a conversion of an RSS file on disk:
let stream = fs.createReadStream(path.join(__dirname, 'rss.xml'))
feed2json.fromStream(stream, url, (err, json) => {
// check for err
// otherwise `json` is populated with JSONFeed format
})
Example showing a conversion from an Atom feed fetched with request
:
let url = "https://chilts.org/atom.xml"
let req = request(url)
feed2json.fromStream(req, url, (err, json) => {
// check for err
// otherwise `json` is populated with JSONFeed format
})
Example showing a conversion from a feed already in a string variable:
let url = "https://chilts.org/rss.xml"
let str = [
'<?xml version="1.0" encoding="UTF-8"?>"',
'<rss version="2.0">',
'...etc...',
'</rss>',
].join('\n')
feed2json.fromString(str, url, (err, json) => {
// check for err
// otherwise `json` is populated with JSONFeed format
})
Note: this package has been tested on https://feed2json.org and has converted many feeds to JSONFeed. It's not perfect, I'm sure, but it's doing a decent job. Please send any PRs or patches my way so we can improve the conversion process together. :) Many thanks.
By Andrew Chilton, @twitter.
For AppsAttic, @AppsAttic.
And ZenType, @ZenTypeHQ.
ISC.
(Ends)