Heim  >  Artikel  >  Backend-Entwicklung  >  Eine ausführliche Einführung in die Vor- und Nachteile von JSON und XML

Eine ausführliche Einführung in die Vor- und Nachteile von JSON und XML

黄舟
黄舟Original
2017-05-07 13:52:371918Durchsuche

JSON(Javascript Object Notation) ist ein leichtes Datenaustauschformat. Für Menschen leicht zu lesen und zu schreiben. Es ist auch für Maschinen einfach zu analysieren und zu generieren. Es basiert auf der Javascript-Programmiersprache, einer Teilmenge des Standards ECMA-262, 3. Ausgabe – Dezember 1999. JSON verwendet ein völlig sprachunabhängiges Textformat, verwendet aber auch Konventionen ähnlich der C-Sprachfamilie (einschließlich C, C++, C#, Java, Javascript, Perl, Python usw.). Diese Eigenschaften machen JSON zu einer idealen Datenaustauschsprache. Das Konzept von JSON ist sehr einfach, das heißt, der Server generiert direkt Javascript-Anweisungen und der Client verwendet direkt die Auswertungsmethode, um das Objekt nach dem Abrufen abzurufen, wodurch die Kosten für das Parsen von XML entfallen. Wenn Sie Informationen aus dem Hintergrund laden möchten, schreiben Sie sie wie folgt in XML:

und schreiben Sie sie als JSON:
<contact>
<friend>
<name>Michael</name>
<email>17bity@gmail.com</email>
<homepage>http://www.jialing.net</homepage>
</friend>
<friend>
<name>John</name>
<email>john@gmail.com</email>
<homepage>http://www.john.com</homepage>
</friend>
<friend>
<name>Peggy</name>
<email>peggy@gmail.com</email>
<homepage>http://www.peggy.com</homepage>
</friend>
</contact>

Es geht nicht nur um Ausdruck, Das Wichtigste ist, dass es die verwirrende DOM-Analyse überflüssig machen kann. Denn solange es den Javascript-Deklarationsspezifikationen entspricht, analysiert JavaScript es automatisch für Sie. Die grundlegende Methode zur Verwendung von JSON in Ajax besteht darin, die
[
{
name:"Michael",
email:"17bity@gmail.com",
homepage:"http://www.jialing.net"
},
{
name:"John",
email:"john@gmail.com",
homepage:"http://www.jobn.com"
},
{
name:"Peggy",
email:"peggy@gmail.com",
homepage:"http://www.peggy.com"
}
]
Zeichenfolge

der Hintergrunddeklaration Javascript-Objekt im Vordergrund zu laden, sie mithilfe der Eval-Methode in ein tatsächliches Objekt zu konvertieren und schließlich zu aktualisieren es über DHTML Seiteninformationen. JSON reduziert nicht nur die durch das Parsen von XML verursachten Leistungs- und Kompatibilitätsprobleme, sondern ist auch sehr einfach für Javascript zu verwenden. Sie können Arrays bequem durchlaufen

und auf Objekte

über Attribute zugreifen Um Daten zu erhalten, ist die Lesbarkeit ebenfalls gut und weist grundsätzlich die Eigenschaften strukturierter Daten auf. Ich muss sagen, es ist eine gute Methode, und tatsächlich verwendet Google Maps kein XML zur Datenübertragung, sondern die JSON-Lösung. Ein weiterer Vorteil von JSON ist „domänenübergreifend“. Wenn Sie beispielsweise die

JSON-Definition

auf der Webseite von www.Web verwenden. cn Ein leichtes Datenaustauschformat, das leicht zu lesen und schnell zu schreiben ist. Die Mainstream-Technologie in der Branche bietet eine Komplettlösung (ähnlich wie
Regular Expression

, die heute von den meisten Sprachen unterstützt wird), die den Datenaustausch zwischen verschiedenen Plattformen ermöglicht. JSON verwendet ein hochkompatibles Textformat und weist außerdem ein Verhalten auf, das dem C-Sprachsystem ähnelt.

Definition von XML

Extensible Markup Language (XML), eine Auszeichnungssprache, die zum Markieren elektronischer Dokumente verwendet wird, um sie strukturell zu gestalten, und zum Markieren von Daten, Definition verwendet werden kann Der Datentyp

ist eine Quellsprache, die es Benutzern ermöglicht, ihre eigene Auszeichnungssprache zu definieren. XML ist eine Teilmenge der Standard Generalized Markup Language (SGML) und eignet sich gut für den Webtransport. XML bietet eine einheitliche Methode zum Beschreiben und Austauschen strukturierter Daten unabhängig von Anwendungen oder Anbietern.

[ XML ]
Vorteile der Verwendung von XML als Übertragungsformat:


    Einheitliches Format, konform mit Standards
  1. Einfache Ferninteraktion mit anderen Systemen, Datenaustausch ist bequemer
  2. Nachteile:

    Das XML-Dateiformat enthält große Dateien, komplexes Format und Übertragung, die Bandbreite beanspruchen
  1. Sowohl der Server als auch der Client müssen viel Code zum Parsen von XML aufwenden, unabhängig davon, ob der serverseitige oder der Clientcode extrem komplex wird und schwer zu warten
  2. Die Art und Weise, XML zwischen verschiedenen Browsern auf der Clientseite zu analysieren, ist inkonsistent und es muss viel Code wiederholt geschrieben werden
  3. Es erfordert Ressourcen und Zeit, XML auf der Server- und Clientseite zu analysieren
  4. [ JSON ]
Gibt es also neben dem XML-Format noch andere Formate? Datenaustauschformat namens JSON (JavaScript Object Notation), das die Arbeit von XML ersetzen kann.


Vorteile:

    Das Datenformat ist relativ einfach, leicht zu lesen und zu schreiben , die Formate sind komprimiert und beanspruchen wenig Bandbreite
  1. Diese Sprache ist einfach zu analysieren, clientseitiges JavaScript kann einfach eval_r() verwenden, um JSON-Daten zu lesen
  2. unterstützt mehrere Sprachen, einschließlich
  3. Action

    Script, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby und andere serverseitige Sprachen erleichtern das serverseitige Parsen

  4. In der PHP-Welt sind bereits PHP-JSON und JSON-PHP aufgetaucht, mit denen PHP serverseitige Objekte, Arrays usw. direkt aufrufen kann und JSON direkt generieren kann Format, das den Client-Zugriff und die Extraktion erleichtert.
  5. Da das JSON-Format direkt vom serverseitigen Code verwendet werden kann, vereinfacht es die Codeentwicklung auf der Server- und Clientseite erheblich, aber die erledigten Aufgaben bleiben gleich und sind leicht zu warten

Nachteile:

  1. Das XML-Format ist nicht so beliebt und weit verbreitet und nicht so vielseitig wie XML

  2. Das JSON-Format steckt derzeit noch in den Kinderschuhen
    Vergleich der Vor- und Nachteile von JSON und XML

  3. Im Hinblick auf die Lesbarkeit Die Datenlesbarkeit von JSON und XML ist grundsätzlich gleich. Die Lesbarkeit von JSON und XML ist nahezu gleich. Es ist schwierig, zwischen der empfohlenen Syntax und dem standardisierten Tag-Format zu unterscheiden.

  4. In Bezug auf die Skalierbarkeit ist XML von Natur aus sehr skalierbar, und JSON hat es auf jeden Fall. Es gibt nichts, was XML erweitern kann, was JSON nicht kann.

  5. In Bezug auf die Codierungsschwierigkeiten verfügt XML über eine Fülle von Codierungstools wie Dom4j, JDom usw. JSON verfügt auch über Tools, die von json.org bereitgestellt werden, aber JSON-Codierung ist offensichtlich viel einfacher als XML, auch wenn JSON-Code ohne die Hilfe von Tools geschrieben werden kann, aber es ist nicht einfach, XML gut zu schreiben.

  6. In Bezug auf die Dekodierungsschwierigkeit muss das Parsen von XML die untergeordneten und übergeordneten Knoten berücksichtigen, was den Leuten schwindelig macht, während die Parsingschwierigkeit von JSON fast 0 ist. XML verliert an dieser Stelle wirklich nichts.

  7. In Bezug auf die Popularität ist XML in der Branche weit verbreitet, während JSON gerade erst begonnen hat. Im spezifischen Bereich von Ajax muss die zukünftige Entwicklung jedoch nachgeben zu JSON. Bis dahin sollte Ajax zu Ajaj werden (Asynchronous Javascript und JSON).

  8. JSON und XML verfügen ebenfalls über umfangreiche Parsing-Methoden.

  9. Im Vergleich zu XML hat JSON eine kleine Datengröße.

  10. Die Interaktion zwischen JSON und JavaScript ist komfortabler.

  11. JSON beschreibt Daten weniger als XML.

  12. JSON ist viel schneller als XML.

1. Vergleich der Datenaustauschformate über XML und JSON:
XML: erweiterbare Auszeichnungssprache, eine HTML-ähnliche Sprache. Sie hat keine vordefinierten Tags und verwendet DTD (Dokument Typdefinition) Dokumenttypdefinition zum Organisieren von Daten; das Format ist einheitlich, plattform- und sprachübergreifend und hat sich in der Branche längst zu einem anerkannten Standard entwickelt. Für spezifische Informationen können Sie Google oder Baidu fragen. Im Vergleich zu JSON, einem leichten Datenaustauschformat, kann XML als schwergewichtig bezeichnet werden.
 JSON: JavaScript Object Notation ist ein leichtes Datenaustauschformat. Für Menschen leicht zu lesen und zu schreiben. Es ist auch für Maschinen einfach zu analysieren und zu generieren. Es basiert auf der Programmiersprache JavaScript, einer Teilmenge des Standards ECMA-262, 3. Ausgabe – Dezember 1999. JSON verwendet ein völlig sprachunabhängiges Textformat, verwendet aber auch Konventionen ähnlich der C-Sprachfamilie (einschließlich C, C++, C#, Java, JavaScript, Perl, Python usw.). Diese Eigenschaften machen JSON zu einer idealen Datenaustauschsprache.
2. Vergleich der Datenaustauschformate zu Lightweight und Heavyweight:
Lightweight und Heavyweight sind relative Begriffe. Wo sollte sich also das Schwergewicht von XML im Vergleich zu JSON widerspiegeln? In Bezug auf das Parsen steht XML derzeit Entworfen mit zwei Parsing-Methoden: DOM und SAX. An einem Punkt sind die Prinzipien von JSON und XML gleich, aber XML muss übergeordnete und untergeordnete Knoten berücksichtigen. In dieser Hinsicht ist JSON viel weniger schwierig zu analysieren, da JSON erstellt wird auf zwei Strukturen:
key/value, key Eine Sammlung von Wertepaaren; eine geordnete Sammlung von Werten, die als Array verstanden werden kann. SAX kann den analysierten Inhalt verarbeiten, ohne das gesamte Dokument zu lesen. Es handelt sich um eine schrittweise Analysemethode. Das Programm kann das Parsen auch jederzeit beenden. Auf diese Weise kann ein großes Dokument schrittweise und Stück für Stück angezeigt werden, sodass SAX für das Parsen in großem Maßstab geeignet ist. Dies ist derzeit mit JSON nicht möglich. Daher besteht der leichte/schwere Unterschied zwischen JSON und XML darin, dass JSON nur eine umfassende Parsing-Lösung bietet und diese Methode nur dann gute Ergebnisse erzielen kann, wenn weniger Daten analysiert werden, während XML eine umfassende, schrittweise Analyse bietet. Schrittweises Datenanalyseschema, das sich sehr gut für die Verarbeitung großer Datenmengen eignet. 3. Vergleich der Datenaustauschformate hinsichtlich der Schwierigkeit der Kodierung und Analyse von Datenformaten:
In Bezug auf die Kodierung verfügen XML und JSON zwar über eigene Kodierungstools, die JSON-Kodierung ist jedoch einfacher als XML, auch ohne die Hilfe von Tools können Sie auch JSON-Code schreiben, aber es ist etwas schwierig, guten XML-Code wie XML zu schreiben. JSON ist ebenfalls textbasiert und verwendet beide Unicode-Codierung und ist genauso lesbar wie das Datenaustauschformat XML.
Subjektiv ist JSON klarer und weniger redundant. Die JSON-Website bietet eine strenge, wenn auch kurze Beschreibung der JSON-Syntax. Im Allgemeinen eignet sich XML besser zum Markieren von Dokumenten, während JSON besser für die Datenaustauschverarbeitung geeignet ist.
In Bezug auf das Parsen machen sich Entwickler im Bereich gewöhnlicher Webanwendungen häufig Sorgen um das Parsen von XML. Unabhängig davon, ob XML auf der Serverseite generiert oder verarbeitet wird oder XML auf der Clientseite mithilfe von JavaScript analysiert wird, führt dies häufig zu komplexen Problemen Code und extrem niedrige Entwicklungseffizienz.
Tatsächlich benötigen die meisten Webanwendungen überhaupt kein komplexes XML, um Daten zu übertragen, und die von XML beanspruchte Erweiterbarkeit hat hier selten einen Vorteil. Viele Ajax-Anwendungen geben HTML-Fragmente sogar direkt zurück, um dynamische Webseiten zu erstellen. Im Vergleich zur Rückgabe und Analyse von XML verringert die Rückgabe von HTML-Fragmenten die Komplexität des Systems erheblich, es fehlt jedoch auch ein gewisses Maß an Flexibilität. Das Datenaustauschformat JSON bietet mehr Einfachheit und Flexibilität als XML- oder HTML-Fragmente. In Webservice-Anwendungen hat XML zumindest derzeit noch eine unerschütterliche Stellung.

Das obige ist der detaillierte Inhalt vonEine ausführliche Einführung in die Vor- und Nachteile von JSON und XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn