4 ms·
While I shouldn't speak for JSON Feed's developers (Manton Reece of Micro.blog and Brent Simmons, original developer of RSS/Atom reader NetNewsWire), their argu
by chipotle_coyote 9y ago
While I shouldn't speak for JSON Feed's developers (Manton Reece of Micro.blog and Brent Simmons, original developer of RSS/Atom reader NetNewsWire), their argument basically boils down to "developers seem to be better at constructing valid JSON than they are at constructing valid XML."
I know a lot of HN folks will say but you can just construct perfectly valid XML with library such-and-such or API this-and-that and, yes, I'm sure they're all absolutely, positively 100% correct. But in my real-world experience, Reece and Simmons seem to be correct in practice. Given that Simmons wrote NNW, worked at the now-defunct server-side RSS company NewsGator, and is now writing a new RSS (and JSON Feed) reader, I'm inclined to believe that when he says JSON Feed "reflects the lessons learned from our years of work reading and publishing feeds," he means it.
- mcormier 9y agoYou don’t have to worry about recursive entity definitions in JSON.
- UncleEntity 9y agoIt's funny, the only RSS feed I use I turn into json so I can store it tinydb in "native" format. Well, technically, I turn it into a python dict and then tinydb does the conversion to json automagically. Took 50 lines of code which I banged together from google searches. Back before I started using the db backend I was parsing the feed with an auto-generated (from the schema) "rss reader" in python then merging the items into a master rss feed sorted by channels. That worked for a while until I got motivated and made it searchable/modifiable but couldn't find a simple database that I could just dump xml into. Anyhoo, my point is it's easy to work with rss in either native xml or json with some simple tools that do most of the work for you. Would be super easy to bang together a converter that goes both ways if someone was motivated enough. Actually... now that I think about it, changing generateDS to use a dict to store xml attributes could easily go back and forth with all the error checking one would desire -- might have to hack that together.