Wann würden Sie XML über JSON für Ajax verwenden?

8

In letzter Zeit haben viele Programmierer und auch ich das X aus AJAX herausgenommen und verwenden standardmäßig JSON als Protokollformat. Ich versuche jedoch, an einige Stellen zu denken, wo XML als Protokollformat besser geeignet wäre, das SOAP nicht enthält (weil SOAP theoretisch sowieso mit JSON gemacht werden könnte).

Hinweis: Ich liebe mich XML für viele andere Zwecke, also geht es nicht um XML vs JSON im Allgemeinen, ich interessiere mich insbesondere mit AJAX Übertragungsprotokoll.

    
Robert Gould 26.01.2009, 04:41
quelle

5 Antworten

15

Diese Frage ist sehr ähnlich zu Wann bevorzugen Sie JSON gegenüber XML?

Jedenfalls stimme ich der Antwort mit der höchsten Wahl dort zu:

  

Ich benutze JSON, es sei denn, ich brauche XML. Es ist einfacher zu verstehen, und (weil es weniger Konfigurationsaufwand erfordert) einfacher zu programmieren für das Lesen und Schreiben, wenn die Bibliotheken in Ihrem Kontext verfügbar sind, und sie sind jetzt ziemlich allgegenwärtig.

     

Als Amazon seine Kataloge zum ersten Mal als Web-Service zur Verfügung stellte, boten sie JSON und XML an. Etwas wie 90% der Implementierer wählten JSON.

Auf der anderen Seite ist XML gut für Situationen, in denen ...

  • Sie benötigen eine Nachrichtenvalidierung
  • Sie verwenden XSLT
  • Ihre Nachrichten enthalten eine Menge hervorgehobenen Text
  • Sie müssen mit Umgebungen interagieren, die JSON nicht unterstützen
  • Sie benötigen Attribute oder Namespacing

Dies geht auch aus der obigen Frage hervor, die im Wesentlichen das Gegenteil verlangt.

    
Paolo Bergantino 26.01.2009, 05:01
quelle
4

Um die Dinge zusammen zu halten, um das Nachschlagen zu erleichtern, anstatt die Daten zu normalisieren, rege ich einige Teile der Antworten auf die andere Frage von Paolo Bergantino, die Vorteile von XML zeigen:

 Begünstigen Sie XML über JSON, wenn Sie eines davon haben  ist wahr:

  • Sie benötigen eine Nachrichtenvalidierung
  • Sie verwenden XSLT Ihre Nachrichten enthalten eine Menge markierten Text
  • Sie müssen mit Umgebungen interagieren, die JSON
  • wird nicht unterstützt

-Robert Rossney

Sie müssen die Daten auf dem Client verarbeiten, und Sie können XSL dafür nutzen. Die Wahrscheinlichkeit ist groß, dass die XML + XSL-Kette bei großen Datenmengen schneller als JSON + JavaScript arbeitet. Ein guter Fall ist, die Daten in ein HTML-Snippet zu konvertieren.

-Eugene Lazutkin

Ich würde XML über JSON wählen, wenn ich den Teil der eingehenden Daten validieren muss, weil XML das natürlich über XSD unterstützt.

- Gleiter

JSON fehlt jedoch beide

  • Attribute
  • Namensraum

-null

    
Robert Gould 26.01.2009 05:14
quelle
2

Ajaxian schrieb über dieses Thema - JSON vs. XML: Die Debatte

>

Darüber hinaus bin ich mir der Wichtigkeit nicht sicher, aber einige Instanzen fordern möglicherweise Attribute für Tags, und Sie können Attribute nicht wirklich auf JSON-Einträge setzen. Ich könnte jedoch weit weg sein - JSON / XML sind nicht meine stärksten Bereiche.

    
Sampson 26.01.2009 04:47
quelle
1

Wenn Sie XSLT-Konvertierungen auf der Client-Seite durchführen würden.

    
Zach 26.01.2009 04:56
quelle
0

Für mich ist der größte Nachteil der Verwendung von XML in AJAX die Tatsache, dass Sie es normalerweise analysieren und in irgendeiner Weise konvertieren müssen, während Sie mit JSON nicht dasselbe tun müssen, weil das Format ist nativ für JavaScript. Wenn Sie die größeren Übertragungskosten zu der Analyse und Konvertierung hinzufügen, kann ich ehrlich gesagt keinen guten Grund finden, XML über JSON für AJAX zu verwenden, obwohl ich sicherlich XML für viele andere Dinge verwende.

    
VirtuosiMedia 26.01.2009 04:50
quelle

Tags und Links