Question

I'm new to web services and as an introduction I'm playing around with the Twitter API using the Twisted framework in python. I've read up on the different formats they offer, but it's still not clear to me which one I should use in my fairly simple project. Specifically the practical difference between using JSON or XML is something I'd like guidance on. All I'm doing is requesting the public timeline and caching it locally.

Thanks.

Was it helpful?

Solution

For me it boils down to convenience. Using XML, I have to parse the response in to a DOM (or more usually an ElementTree). Using JSON, one call to simplejson.loads(json_string) and I have a native Python data structure (lists, dictionaries, strings etc) which I can start iterating over and processing. Anything that means writing a few less lines of code is usually a good idea in my opinion.

I often use JSON to move data structures between PHP, Python and JavaScript - again, because it saves me having to figure out an XML serialization and then parse it at the other end.

And like jinzo said, JSON ends up being slightly fewer bytes on the wire.

You might find my blog entry on JSON from a couple of years ago useful: http://simonwillison.net/2006/Dec/20/json/

OTHER TIPS

RSS and Atom are XML formats.

JSON is a string which can be evaluated as Javascript code.

I would say the amount of data being sent over the wire is one factor. XML data stream will be bigger than JSON for the same data. But you can use whatever you know more/have more experience.

I would recommend JSON, as it's more "pythonic" than XML.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top