Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung der Verwendung von JSON und XML

Ausführliche Erläuterung der Verwendung von JSON und XML

php中世界最好的语言
php中世界最好的语言Original
2018-04-25 17:18:211317Durchsuche

Dieses Mal werde ich Ihnen eine detaillierte Erklärung zur Verwendung von JSON und XML geben. Was sind die Vorsichtsmaßnahmen bei der Verwendung von JSON und XML? Hier sind praktische Fälle.

1. Definitionseinführung

1.1 XML-Definition

Extensible Markup Language (XML), verwendet Eine Auszeichnungssprache, die markiert elektronische Dateien, um sie strukturell zu gestalten, die zum Markieren von Daten und zum Definieren von Datentypen verwendet werden können. Es handelt sich um eine Quellsprache, die es Benutzern ermöglicht, ihre eigene Auszeichnungssprache zu definieren. XML verwendet die Dokumenttypdefinition DTD (document type definition), um Daten zu organisieren. Das Format ist einheitlich, plattform- und sprachübergreifend und hat sich in der Branche längst zu einem anerkannten Standard entwickelt.
XML ist eine Teilmenge der Standard Generalized Markup Language (SGML) und eignet sich gut für die Webübertragung. XML bietet eine einheitliche Methode zum Beschreiben und Austauschen strukturierter Daten unabhängig von Anwendungen oder Anbietern.

1.2 JSON-Definition

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das lesbar ist und praktische Funktionen zum schnellen Schreiben bietet. Der Datenaustausch zwischen verschiedenen Plattformen ist möglich. JSON verwendet ein hochkompatibles und vollständig sprachunabhängiges Textformat und weist außerdem ein ähnliches Verhalten wie die C-Sprache auf (einschließlich C, C++, C#, Java, JavaScript, Perl, Python usw.). Diese Eigenschaften machen JSON zu einer idealen Datenaustauschsprache.
JSON basiert auf der Programmiersprache JavaScript, einer Teilmenge des Standards ECMA-262, 3. Ausgabe – Dezember 1999.

2. Vor- und Nachteile von XML und JSON

2.1 Vor- und Nachteile von XML

Vorteile von XML
 A. Das Format ist einheitlich und entspricht den Standards.
B. Die Ferninteraktion mit anderen Systemen ist einfacher und der Datenaustausch ist bequemer.

Nachteile von XML
A. XML-Dateien sind riesig, das Dateiformat ist komplex und die Übertragung nimmt Bandbreite in Anspruch
B. Sowohl der Server als auch der Client müssen viel Code dafür ausgeben XML analysieren, was dazu führt, dass der Seitencode extrem komplex und schwer zu warten ist.
C. Die Art und Weise, XML zwischen verschiedenen Browsern auf dem Client zu analysieren, ist inkonsistent und es muss viel Code wiederholt geschrieben werden.
D. Das Parsen von XML zwischen dem Server und dem Client kostet mehr Ressourcen und Zeit.

2.2 Vor- und Nachteile von JSON

Vorteile von JSON:

A. Das Datenformat ist relativ einfach, leicht zu lesen und zu schreiben und Die Formate sind komprimiert.
B. Einfach zu analysieren, clientseitiges JavaScript kann JSON-Daten einfach über eval() lesen. Unterstützt mehrere Sprachen, einschließlich ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby und andere serverseitige Sprachen erleichtern das serverseitige Parsen.
D. In der PHP-Welt sind PHP-JSON und JSON-PHP bereits aufgetaucht und werden bevorzugt Um das Programm nach der PHP-Serialisierung direkt aufzurufen, können serverseitige PHP-Objekte, Arrays usw. direkt das JSON-Format generieren, was für den Clientzugriff und die Extraktion praktisch ist.
E. Da das JSON-Format direkt serverseitig verwendet werden kann Code vereinfacht die Codeentwicklung auf der Server- und Clientseite erheblich und erledigt die Aufgabe. Die Aufgabe bleibt unverändert und ist leicht zu warten.

Nachteile von JSON

A. Es ist nicht so beliebt und weit verbreitet wie das XML-Format und es ist nicht so vielseitig wie XML.

B. Das JSON-Format wird derzeit nicht gefördert Webdienst Gehört zur primären Stufe.

3. Vergleich der Vor- und Nachteile von XML und JSON

Im Hinblick auf die Lesbarkeit.

Die Datenlesbarkeit von JSON und XML ist im Wesentlichen gleich. Auf der einen Seite ist die empfohlene Syntax und auf der anderen Seite die standardisierte Tag-Form lesbar.

Skalierbarkeit.

XML ist natürlich sehr skalierbar, und natürlich auch JSON. Es gibt nichts, was XML erweitern kann, was JSON nicht kann.

In Bezug auf die Codierungsschwierigkeit.

XML verfügt über zahlreiche Codierungstools wie Dom4j, JDom usw., und JSON verfügt auch über Tools, die von json.org bereitgestellt werden. Allerdings ist die JSON-Codierung offensichtlich viel einfacher als XML Auch ohne den Einsatz von Tools ist es nicht einfach, XML gut zu schreiben.

Dekodierungsschwierigkeiten.

Beim Parsen von XML müssen untergeordnete und übergeordnete Knoten berücksichtigt werden, was den Leuten schwindelig macht, während die Schwierigkeit beim Parsen von JSON fast 0 ist. XML verliert an dieser Stelle wirklich nichts.

Beliebtheit.

XML ist in der Branche weit verbreitet, während JSON gerade erst begonnen hat. Im spezifischen Bereich von Ajax muss die zukünftige Entwicklung jedoch darin bestehen, dass XML JSON weichen wird. Bis dahin sollte Ajax zu Ajaj (Asynchronous Javascript und JSON) werden.

Analysemethoden.

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

In Bezug auf das Datenvolumen.

Im Vergleich zu XML hat JSON eine kleinere Datengröße und eine schnellere Übertragungsgeschwindigkeit.

Dateninteraktion.

Die Interaktion zwischen JSON und JavaScript ist bequemer, einfacher zu analysieren und zu verarbeiten und sorgt für eine bessere Dateninteraktion.

Datenbeschreibung.

JSON beschreibt Daten weniger als XML.

Übertragungsgeschwindigkeit.

JSON ist viel schneller als XML.

4. Vergleich von XML- und JSON-Datenformaten

4.1 Über Leichtgewicht und Schwergewicht

Leichtgewicht und Schwergewicht sind relativ, Wo liegt also das Schwergewicht von XML im Vergleich zu JSON? Es sollte sich in der Analyse widerspiegeln. XML verfügt derzeit über zwei Parsing-Methoden: DOM und SAX.

DOM

DOM betrachtet ein Datenaustauschformat XML als DOM-Objekt, und die gesamte XML-Datei muss in den Speicher eingelesen werden. Die Prinzipien von JSON und XML sind dieselben, aber XML muss übergeordnete und untergeordnete Knoten berücksichtigen. An diesem Punkt ist JSON viel weniger schwierig zu analysieren, da JSON auf zwei Strukturen basiert: Schlüssel/Wert, eine Sammlung von Schlüsseln -Wertpaare; Eine geordnete Sammlung kann als Array verstanden werden.

SAX

SAX kann den analysierten Inhalt verarbeiten, ohne das gesamte Dokument zu lesen. Schrittweise Parsing-Methode. 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.
Der leichte/schwere Unterschied zwischen JSON und XML ist also:
JSON bietet nur eine umfassende Parsing-Lösung, und diese Methode kann nur dann gute Ergebnisse erzielen, wenn weniger Daten analysiert werden.
XML bietet eine schrittweise Anleitung -Schritt-Analyselösung für große Datenmengen, die sich sehr gut für die Verarbeitung großer Datenmengen eignet.

4.2 In Bezug auf die Schwierigkeit der Datenformatkodierung und -analyse

In Bezug auf die Kodierung.

Obwohl XML und JSON über eigene Codierungstools verfügen, ist die Codierung von JSON einfacher als die von XML. Sie können JSON-Code auch ohne die Hilfe von Tools schreiben, aber es ist etwas schwierig, guten XML-Code zu schreiben ; Wie XML ist auch JSON textbasiert, alle verwenden Unicode-Codierung und sind genauso lesbar wie das Datenaustauschformat XML.

Subjektiv gesehen 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.

Im Bereich gewöhnlicher Webanwendungen machen sich Entwickler häufig Gedanken über 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 komplexem Code Extrem niedrige Latenz. Entwicklungseffizienz.

Tatsächlich benötigen die meisten Webanwendungen überhaupt kein komplexes XML, um Daten zu übertragen. Die von XML beanspruchte Skalierbarkeit 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 Web-Service-Anwendungen hat XML zumindest derzeit noch eine unerschütterliche Stellung.


Beispielvergleich

Sowohl XML als auch JSON verwenden strukturierte Methoden, um Daten zu markieren. Lassen Sie uns unten einen einfachen Vergleich durchführen.

Verwenden Sie XML, um die Daten einiger Provinzen und Städte in China wie folgt darzustellen:

<?xml version="1.0" encoding="utf-8" ?>
<country>
 <name>中国</name>
 <province>
  <name>黑龙江</name>
  <citys>
   <city>哈尔滨</city>
   <city>大庆</city>
  </citys>   
 </province>
 <province>
  <name>广东</name>
  <citys>
   <city>广州</city>
   <city>深圳</city>
   <city>珠海</city>
  </citys>   
 </province>
 <province>
  <name>台湾</name>
  <citys>
    <city>台北</city>
    <city>高雄</city>
  </citys> 
 </province>
 <province>
  <name>新疆</name>
  <citys>
   <city>乌鲁木齐</city>
  </citys>
 </province>
</country>

Verwenden Sie JSON, um die Daten einiger Provinzen und Städte in China wie folgt darzustellen:
 var country =
    {
      name: "中国",
      provinces: [
      { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
      { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
      { name: "台湾", citys: { city: ["台北", "高雄"]} },
      { name: "新疆", citys: { city: ["乌鲁木齐"]} }
      ]
    }

In In Bezug auf die Lesbarkeit der Codierung hat XML offensichtliche Vorteile, schließlich ist die menschliche Sprache näher an einer solchen Erklärungsstruktur. JSON liest sich eher wie ein Datenblock und ist verwirrender zu lesen. Die für uns schwer lesbare Sprache ist jedoch für maschinelles Lesen geeignet, sodass der Wert „Heilongjiang“ über den JSON-Index „country.provinces[0].name“ gelesen werden kann.

In Bezug auf die handschriftliche Schwierigkeit beim Codieren ist XML einfacher zu lesen und natürlich auch leicht zu schreiben. Allerdings sind die geschriebenen JSON-Zeichen offensichtlich deutlich geringer. Wenn Sie die leeren Tabulatoren und Zeilenumbrüche entfernen, ist JSON dicht mit nützlichen Daten gefüllt, während XML viele sich wiederholende Markup-Zeichen enthält.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

jsonp+json implementiert domänenübergreifende AJAX-Anfrage

Wie kann Jsonp domänenübergreifende Ajax-Anfragen lösen? Anfrage

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung 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