2009-01-17 15 views
5

Ich bin neu in Web Services und als Einführung spiele ich mit der Twitter API, die das Twisted Framework in Python verwendet. Ich habe die verschiedenen Formate gelesen, die sie anbieten, aber mir ist immer noch nicht klar, welches ich in meinem relativ einfachen Projekt verwenden sollte. Speziell der praktische Unterschied zwischen der Verwendung von JSON oder XML ist etwas, auf das ich gerne hinweisen möchte. Alles, was ich gerade mache, ist die öffentliche Zeitleiste anzufordern und lokal zu cachen.Was ist der praktische Unterschied zwischen xml, json, rss und atom bei der Verbindung mit Twitter?

Danke.

Antwort

7

Für mich läuft es auf Bequemlichkeit. Mit XML muss ich die Antwort in ein DOM (oder häufiger einen ElementTree) analysieren. Ich benutze JSON, einen Aufruf von simplejson.loads (json_string) und ich habe eine native Python-Datenstruktur (Listen, Wörterbücher, Strings usw.), die ich mit der Iteration und der Verarbeitung beginnen kann. Alles, was bedeutet, ein paar weniger Zeilen Code zu schreiben, ist meiner Meinung nach eine gute Idee.

Ich benutze oft JSON, um Datenstrukturen zwischen PHP, Python und JavaScript zu verschieben - wieder, weil es mir erspart, eine XML-Serialisierung herauszufinden und dann am anderen Ende zu parsen.

Und wie jinzo sagte, endet JSON etwas weniger Bytes auf dem Draht.

Sie könnten mein Blog-Eintrag auf JSON von ein paar Jahren nützlich finden: http://simonwillison.net/2006/Dec/20/json/

4

RSS und Atom sind XML-Formate.

JSON ist eine Zeichenfolge, die als Javascript-Code ausgewertet werden kann.

+2

XML ist auch ein String sein. JSON ist eine andere Möglichkeit, komplexe Daten zu repräsentieren, ohne viel von dem Aufwand, den xml benötigt. Es ist kompatibel mit dem Javascript-Datentyp, der einen Hinweis auf das J im Namen gibt ;-). –

+1

Und über das S im Namen auch. – Reunanen

+0

Es ist auch einfach nur viel einfacher und lesbarer, imo, und ist viel prägnanter. – devios1

1

Ich würde sagen, die Menge der Daten über die Leitung ist ein Faktor. XML-Datenstrom ist für dieselben Daten größer als JSON. Aber Sie können verwenden, was Sie mehr wissen/mehr Erfahrung haben. Ich würde JSON empfehlen, da es mehr "Python" als XML ist.

+0

Der Strom kann jedoch komprimiert werden, so dass der Unterschied geringer ist – Mark