2009-01-17 29 views
5

Je suis novice en matière de services web et en introduction, je suis en train de jouer avec l'API Twitter en utilisant le framework Twisted en python. J'ai lu sur les différents formats qu'ils offrent, mais je ne sais toujours pas lequel je devrais utiliser dans mon projet assez simple. Plus précisément, la différence pratique entre l'utilisation de JSON ou XML est quelque chose que je voudrais des conseils. Tout ce que je fais demande le calendrier public et le cache localement.Quelle est la différence pratique entre xml, json, rss et atome lors de l'interfaçage avec Twitter?

Merci.

Répondre

7

Pour moi, cela se résume à la commodité. En utilisant XML, je dois analyser la réponse dans un DOM (ou plus généralement un ElementTree). En utilisant JSON, un appel à simplejson.loads (json_string) et j'ai une structure de données Python native (listes, dictionnaires, chaînes, etc.) que je peux commencer à parcourir et à traiter. Tout ce qui signifie écrire un peu moins de lignes de code est généralement une bonne idée à mon avis. J'utilise souvent JSON pour déplacer des structures de données entre PHP, Python et JavaScript - encore une fois, car cela m'évite de devoir déterminer une sérialisation XML, puis de l'analyser à l'autre extrémité. Et comme jinzo a dit, JSON finit par être légèrement moins d'octets sur le fil.

Vous trouverez peut-être mon entrée de blog sur JSON de quelques années il y a utile: http://simonwillison.net/2006/Dec/20/json/

4

RSS et Atom sont des formats XML. JSON est une chaîne pouvant être évaluée en tant que code Javascript.

+2

XML est d'être aussi une chaîne. JSON est une autre façon de représenter des données complexes sans trop utiliser le surdébit utilisé par xml. Il se trouve être compatible avec le type de données Javascript qui donne un indice sur le J dans le nom ;-). –

+1

Et sur le S dans le nom aussi. – Reunanen

+0

Il se trouve aussi que c'est un peu plus simple et plus facile à lire pour l'homme, et c'est beaucoup plus concis. – devios1

1

Je dirais que la quantité de données envoyées sur le fil est un facteur. Le flux de données XML sera plus grand que JSON pour les mêmes données. Mais vous pouvez utiliser ce que vous savez plus/avoir plus d'expérience. Je recommanderais JSON, car il est plus "pythonique" que XML.

+0

Cependant, le flux peut être compressé de sorte que la différence est moins – Mark