Heim Web-Frontend js-Tutorial So konvertieren Sie XML und JSON zwischen JS

So konvertieren Sie XML und JSON zwischen JS

Apr 25, 2018 am 09:40 AM
javascript json 转换

Dieses Mal werde ich Ihnen die Methode zum Konvertieren von XML und JSON mit JS vorstellen. Was sind die Vorsichtsmaßnahmen für die Konvertierung von XML und JSON mit JS? Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Während der Entwicklung werden manchmal XML und JSON ineinander konvertiert, und sie müssen in JS verwendet werden. Ich habe viel im Internet gesucht, aber jedem nützlichen fehlten entweder Arme oder Beine oder die Wörter Ich habe die Bedeutung nicht zum Ausdruck gebracht. Es war zu nutzlos, ich habe beschlossen, es selbst zu erkennen.

Vergleich der Unterschiede zwischen JSON und XML

1. Einführung in die Definition

(1).XML Definition

Extensible Markup Language (XML), eine Auszeichnungssprache, die zum Markieren elektronischer Dokumente verwendet wird, um sie strukturell zu gestalten. Sie kann zum Markieren von Daten und zum Definieren von Datentypen verwendet werden 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.

(2).JSON-Definition

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat mit guter Zuverlässigkeit beim Lesen und schnellen Schreibfunktionen . Der Datenaustausch zwischen verschiedenen Plattformen ist möglich. JSON verwendet ein hochkompatibles und vollständig sprachunabhängiges Textformat und weist außerdem ein Systemverhalten auf, das den Gewohnheiten der C-Sprache ähnelt (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

(1) Vor- und Nachteile von XML

< 1>. Vorteile von XML
A. Das Format ist einheitlich und standardkonform
B. Es ist einfacher, aus der Ferne mit anderen Systemen zu interagieren und der Datenaustausch ist bequemer.

<2>. 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 aufwenden viel Code zum Parsen von XML. Dadurch werden die serverseitigen und clientseitigen Codes extrem komplex und schwer zu warten.
C. Die Art und Weise, XML zwischen verschiedenen Browsern auf der Clientseite zu analysieren, ist inkonsistent Es muss viel Code wiederholt geschrieben werden.
D. Das serverseitige und clientseitige Parsen von XML verbraucht mehr Ressourcen und Zeit.

(2). Vor- und Nachteile von JSON

<1> A. Das Datenformat ist relativ einfach und leicht zu verarbeiten Lesen und Schreiben, Formatieren Sie sind alle komprimiert und beanspruchen wenig Bandbreite. B. Einfach zu analysieren, clientseitiges JavaScript kann JSON-Daten einfach über eval() lesen mehrere Sprachen, einschließlich ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby und andere serverseitige Sprachen, um das serverseitige Parsen zu erleichtern

  D. In der PHP-Welt Es gibt bereits PHP-JSON und JSON- PHP ist erschienen, und es wird bevorzugt, dass PHP-serialisierte Programme direkt aufgerufen werden. PHP-Serverobjekte, -Arrays usw. können direkt das JSON-Format generieren, was für den Clientzugriff und die Extraktion praktisch ist ;

E. Da das JSON-Format direkt von der Serverseite verwendet werden kann. Die Verwendung von Code vereinfacht die Codeentwicklung auf der Server- und Clientseite erheblich, und die Aufgaben bleiben unverändert und sind einfach zu erledigen pflegen.

<2>. 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 . JSON Die Förderung des Formats in Webdiensten steckt noch in den Kinderschuhen.

XML in JSON in Javascript konvertieren

Schauen Sie sich zuerst das Aufrufbeispiel an:

<viewport id="menuPane" layout="border">
    <panel region="center" border="0" layout="border">
        <tbar>
            <toolbar text="XXXX">
                <menu>
                    <text text="11">
                    </text>
                    <text text="22">
                    </text>
                    <text text="33">
                    </text>
                </menu>
            </toolbar>
            <toolbar text="XXXX">
                <menu>
                    <text text="44">
                    </text>
                    <text text="55">
                    </text>
                    <menu>
                        <text text="6 6">
                        </text>
                    </menu>
                    <text text="77">
                    </text>
                </menu>
            </toolbar>
        </tbar>
    </panel>
</viewport>
var xmlParser = new XmlToJson();
var json = xmlParser.parse(xml);
console.log( JSON.stringify(json) );
var jsonParser = new JsonToXml();
var xml = jsonParser.parse(json);
console.log( xml );
Nach dem Login kopieren
XML in JSON konvertieren:

function XmlToJson() {
}
XmlToJson.prototype.setXml = function(xml) {
    if(xml && typeof xml == "string") {
        this.xml = document.createElement("p");
        this.xml.innerHTML = xml;
        this.xml = this.xml.
getElementsByTagName
("*")[0];
    }
    else if(typeof xml == "object"){
        this.xml = xml;
    }
};
XmlToJson.prototype.getXml = function() {
    return this.xml;
};
XmlToJson.prototype.parse = function(xml) {
    this.setXml(xml);
    return this.convert(this.xml);
};
XmlToJson.prototype.convert = function(xml) {
    if (xml.nodeType != 1) {
        return null;
    }
    var obj = {};
    obj.xtype = xml.nodeName.toLowerCase();
    var nodeValue = (xml.textContent || "").replace(/(\r|\n)/g, "").replace(/^\s+|\s+$/g, "");
    
    if(nodeValue && xml.childNodes.length == 1) {
        obj.text = nodeValue;
    }
    if (xml.attributes.length > 0) {
        for (var j = 0; j < xml.attributes.length; j++) {
            var attribute = xml.attributes.item(j);
            obj[attribute.nodeName] = attribute.nodeValue;
        }
    }
    if (xml.childNodes.length > 0) {
        var items = [];
        for(var i = 0; i < xml.childNodes.length; i++) {
            var node = xml.childNodes.item(i);
            var item = this.convert(node);
            if(item) {
                items.push(item);
            }
        }
        if(items.length > 0) {
            obj.items = items;
        }
    }
    return obj;
};
Nach dem Login kopieren

JSON in XML konvertieren:

function JsonToXml() {
 this.result = [];
}
JsonToXml.prototype.spacialChars = ["&","<",">","\"","&#39;"];
JsonToXml.prototype.validChars = ["&","<",">",""","&#39;"];
JsonToXml.prototype.toString = function(){
 return this.result.join("");
};
JsonToXml.prototype.replaceSpecialChar = function(s){
    for(var i=0;i<this.spacialChars.length;i++){
        s=s.replace(new RegExp(this.spacialChars[i],"g"),this.validChars[i]);
    }
    return s;
};
JsonToXml.prototype.appendText = function(s){
    s = this.replaceSpecialChar(s);
    this.result.push(s);
};
JsonToXml.prototype.appendAttr = function(key, value){
    this.result.push(" "+ key +"=\""+ value +"\"");
};
JsonToXml.prototype.appendFlagBeginS = function(s){
 this.result.push("<"+s);
};
JsonToXml.prototype.appendFlagBeginE = function(){
 this.result.push(">");
};
JsonToXml.prototype.appendFlagEnd = function(s){
 this.result.push("</"+s+">");
};
JsonToXml.prototype.parse = function(json){
 this.convert(json);
 return this.toString();
};
JsonToXml.prototype.convert = function(obj) {
 var nodeName = obj.xtype || "item";
 this.appendFlagBeginS(nodeName);
 var arrayMap = {};
 for(var key in obj) {
  var item = obj[key];
  if(key == "xtype") {
   continue;
  }
  if(item.constructor == String) {
   this.appendAttr(key, item);
  }
  if(item.constructor == Array) {
   arrayMap[key] = item;
  }
 }
 this.appendFlagBeginE();
 for(var key in arrayMap) {
  var items = arrayMap[key];
  for(var i=0;i<items.length;i++) {
   this.convert(items[i]);
  }
 }
 this.appendFlagEnd(nodeName);
};
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, achten Sie bitte auf andere verwandte Themen Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Welche Methoden gibt es zum Parsen von Json?

Was sind die Methoden für JS, um Json zu beurteilen?

Detaillierte Erläuterung der JSONP-Prinzipien und Fallanalyse

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie XML und JSON zwischen JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Praktische Tipps zum Konvertieren von englischen Buchstaben voller Breite in halbbreite Buchstaben Praktische Tipps zum Konvertieren von englischen Buchstaben voller Breite in halbbreite Buchstaben Mar 26, 2024 am 09:54 AM

Praktische Tipps zum Umwandeln von englischen Buchstaben in voller Breite in Formen mit halber Breite. Im modernen Leben kommen wir häufig mit englischen Buchstaben in Kontakt und müssen bei der Verwendung von Computern, Mobiltelefonen und anderen Geräten häufig englische Buchstaben eingeben. Manchmal stoßen wir jedoch auf englische Buchstaben in voller Breite und müssen die Form mit halber Breite verwenden. Wie konvertiert man also englische Buchstaben in voller Breite in die Form mit halber Breite? Hier sind einige praktische Tipps für Sie. Erstens beziehen sich englische Buchstaben und Zahlen in voller Breite auf Zeichen, die in der Eingabemethode eine Position in voller Breite einnehmen, während englische Buchstaben und Zahlen in halber Breite eine Position in voller Breite einnehmen.

Detaillierte Erläuterung der Implementierungsmethode zur Konvertierung von PHP-Monaten in englische Monate Detaillierte Erläuterung der Implementierungsmethode zur Konvertierung von PHP-Monaten in englische Monate Mar 21, 2024 pm 06:45 PM

In diesem Artikel wird detailliert beschrieben, wie Monate in PHP in englische Monate konvertiert werden, und es werden spezifische Codebeispiele gegeben. In der PHP-Entwicklung müssen wir manchmal digitale Monate in englische Monate konvertieren, was in einigen Datumsverarbeitungs- oder Datenanzeigeszenarien sehr praktisch ist. Die Implementierungsprinzipien, spezifischen Codebeispiele und Vorsichtsmaßnahmen werden im Folgenden ausführlich erläutert. 1. Implementierungsprinzip In PHP können Sie digitale Monate mithilfe der DateTime-Klasse und der Formatmethode in englische Monate konvertieren. Datum

Tipps zur Leistungsoptimierung für die Konvertierung von PHP-Arrays in JSON Tipps zur Leistungsoptimierung für die Konvertierung von PHP-Arrays in JSON May 04, 2024 pm 06:15 PM

Zu den Leistungsoptimierungsmethoden für die Konvertierung von PHP-Arrays in JSON gehören: Verwendung von JSON-Erweiterungen und der Funktion json_encode(); Verwendung von Puffern zur Verbesserung der Leistung der Schleifencodierung; JSON-Codierungsbibliothek.

So konvertieren Sie QQ-Musik in das MP3-Format. Konvertieren Sie QQ-Musik auf dem Mobiltelefon in das MP3-Format So konvertieren Sie QQ-Musik in das MP3-Format. Konvertieren Sie QQ-Musik auf dem Mobiltelefon in das MP3-Format Mar 21, 2024 pm 01:21 PM

Mit QQ Music kann jeder Filme genießen und sich jeden Tag langweilen. Eine große Anzahl hochwertiger Songs steht zum Anhören zur Verfügung Wenn Sie sie das nächste Mal anhören, benötigen Sie keine Internetverbindung. Die hier heruntergeladenen Songs sind nicht im MP3-Format und können nicht auf anderen Plattformen verwendet werden. Daher gibt es keine Möglichkeit, sie erneut anzuhören Viele Freunde möchten die Songs ins MP3-Format konvertieren. Hier erklärt der Herausgeber, dass Sie Methoden bereitstellen, damit jeder sie verwenden kann! 1. Öffnen Sie QQ Music auf Ihrem Computer, klicken Sie auf die Schaltfläche [Hauptmenü] in der oberen rechten Ecke, klicken Sie auf [Audiotranskodierung], wählen Sie die Option [Song hinzufügen] und fügen Sie die Songs hinzu, die konvertiert werden müssen. 2. Nach dem Hinzufügen Um die Songs anzuzeigen, klicken Sie, um „In [mp3] konvertieren“ auszuwählen.

Wie steuern Anmerkungen in der Jackson-Bibliothek die JSON-Serialisierung und -Deserialisierung? Wie steuern Anmerkungen in der Jackson-Bibliothek die JSON-Serialisierung und -Deserialisierung? May 06, 2024 pm 10:09 PM

Anmerkungen in der Jackson-Bibliothek steuern die JSON-Serialisierung und -Deserialisierung: Serialisierung: @JsonIgnore: Ignorieren Sie die Eigenschaft @JsonProperty: Geben Sie den Namen an @JsonGetter: Verwenden Sie die get-Methode @JsonSetter: Verwenden Sie die set-Methode Deserialisierung: @JsonIgnoreProperties: Ignorieren Sie die Eigenschaft @ JsonProperty: Geben Sie den Namen @JsonCreator an: Verwenden Sie den Konstruktor @JsonDeserialize: Benutzerdefinierte Logik

So konvertieren Sie englische Buchstaben voller Breite in Buchstaben halber Breite So konvertieren Sie englische Buchstaben voller Breite in Buchstaben halber Breite Mar 25, 2024 pm 02:45 PM

So konvertieren Sie englische Buchstaben voller Breite in Buchstaben halber Breite. Im täglichen Leben und bei der Arbeit stoßen wir manchmal auf Situationen, in denen wir englische Buchstaben voller Breite in Buchstaben halber Breite umwandeln müssen, z. B. beim Eingeben von Computerkennwörtern, beim Bearbeiten von Dokumenten usw Entwerfen von Layouts. Englische Buchstaben und Zahlen in voller Breite beziehen sich auf Zeichen mit der gleichen Breite wie chinesische Schriftzeichen, während sich englische Buchstaben in halber Breite auf Zeichen mit einer schmaleren Breite beziehen. Im tatsächlichen Betrieb müssen wir einige einfache Methoden beherrschen, um englische Buchstaben voller Breite in Buchstaben halber Breite umzuwandeln, damit wir Text und Zahlen bequemer verarbeiten können. 1. Englische Buchstaben voller Breite und englische Buchstaben halber Breite

PHP-Tutorial: So konvertieren Sie den Typ int in einen String PHP-Tutorial: So konvertieren Sie den Typ int in einen String Mar 27, 2024 pm 06:03 PM

PHP-Tutorial: So konvertieren Sie den Int-Typ in einen String. In PHP ist das Konvertieren von Ganzzahldaten in einen String ein häufiger Vorgang. In diesem Tutorial erfahren Sie, wie Sie die in PHP integrierten Funktionen verwenden, um den Typ int in einen String zu konvertieren, und stellen gleichzeitig spezifische Codebeispiele bereit. Cast verwenden: In PHP können Sie Cast verwenden, um ganzzahlige Daten in einen String umzuwandeln. Diese Methode ist sehr einfach. Sie müssen lediglich (string) vor den ganzzahligen Daten hinzufügen, um sie in einen String umzuwandeln. Unten finden Sie einen einfachen Beispielcode

Erfahren Sie schnell etwas über die ASCII-Wertkonvertierung in PHP Erfahren Sie schnell etwas über die ASCII-Wertkonvertierung in PHP Mar 28, 2024 pm 06:42 PM

Die Konvertierung von ASCII-Werten in PHP ist ein häufig auftretendes Problem bei der Programmierung. ASCII (American Standard Code for Information Interchange) ist ein Standardkodierungssystem zur Umwandlung von Zeichen in Zahlen. In PHP müssen wir häufig Zeichen und Zahlen über ASCII-Code konvertieren. In diesem Artikel wird die Konvertierung von ASCII-Werten in PHP vorgestellt und spezifische Codebeispiele gegeben. 1. Ändern Sie die Zeichen

See all articles