Maison interface Web js tutoriel Comment convertir XML et JSON entre JS

Comment convertir XML et JSON entre JS

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

Cette fois, je vais vous présenter la méthode de conversion de XML et JSON avec JS. Quelles sont les précautions pour convertir XML et JSON avec JS. Ce qui suit est un cas pratique, jetons un coup d'oeil.

Pendant le développement, XML et JSON sont parfois convertis l'un en l'autre, et ils doivent être utilisés dans JS. J'ai beaucoup cherché sur Internet, mais tous ceux qui étaient utiles manquaient de bras ou de jambes, ou de mots. Je n'ai pas exprimé le sens. C'était trop inutile, pour l'amour de Dieu, j'ai décidé de le réaliser moi-même.

Comparaison des différences entre JSON et XML

1.Introduction à la définition

(1).XML. définition

Extensible Markup Language (XML), un langage de balisage utilisé pour marquer les documents électroniques afin de les rendre structurels. Il peut être utilisé pour marquer des données et définir des types de données. Un langage source qui permet aux utilisateurs de définir leur propre langage de balisage. XML utilise la définition du type de document DTD (document type definition) pour organiser les données ; le format est unifié, multiplateforme et multilingue, et est depuis longtemps devenu une norme reconnue dans l'industrie.
XML est un sous-ensemble du langage SGML (Standard Generalized Markup Language) et convient parfaitement à la transmission sur le Web. XML fournit une méthode unifiée pour décrire et échanger des données structurées indépendamment des applications ou des fournisseurs.

(2).Définition JSON

JSON (JavaScript Object Notation) est un format d'échange de données léger avec une bonne fiabilité Fonctionnalités de lecture et d'écriture rapide . L'échange de données entre différentes plateformes est possible. JSON adopte un format de texte hautement compatible et totalement indépendant du langage, et présente également un comportement système similaire aux habitudes du langage C (notamment C, C++, C#, Java, JavaScript, Perl, Python, etc.). Ces propriétés font de JSON un langage d'échange de données idéal.
JSON est basé sur le langage de programmation JavaScript, un sous-ensemble de la norme ECMA-262 3e édition - décembre 1999.

2. Avantages et inconvénients de XML et JSON

(1) Avantages et inconvénients de XML

< 1>. Avantages du XML
A. Le format est unifié et conforme aux normes
B. Il est facile d'interagir à distance avec d'autres systèmes et le partage de données est plus pratique ;

<2>. Inconvénients du XML
A. Les fichiers XML sont énormes, le format de fichier est complexe et la transmission consomme de la bande passante
B. Le serveur et le client doivent dépenser ; beaucoup de code pour analyser XML, En conséquence, les codes côté serveur et côté client deviennent extrêmement complexes et difficiles à maintenir
C. La manière d'analyser XML entre les différents navigateurs sur le client est incohérente, et un beaucoup de code doit être écrit à plusieurs reprises ;
D. L'analyse XML côté serveur et côté client consomme plus de ressources et de temps.

(2). Avantages et inconvénients de JSON

<1>. Avantages de JSON :
A. Le format des données est relativement simple, facile à utiliser. lire et écrire, formater Ils sont tous compressés et consomment peu de bande passante ;

B. Facile à analyser, JavaScript côté client peut simplement lire les données JSON via eval(); plusieurs langages, dont ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby et d'autres langages côté serveur pour faciliter l'analyse côté serveur

 D. Dans le monde PHP ; , il existe déjà PHP-JSON et JSON- PHP est apparu, et il est préférable que les programmes sérialisés PHP soient appelés directement. Les objets, tableaux, etc. côté serveur PHP peuvent générer directement le format JSON, ce qui est pratique pour l'accès et l'extraction client. ;

E. Parce que le format JSON peut être directement utilisé par le côté serveur L'utilisation du code simplifie grandement la quantité de développement de code côté serveur et côté client, et les tâches restent inchangées et sont faciles à maintenir.

<2>. Inconvénients de JSON

A. Il n'est pas aussi populaire et largement utilisé que le format XML, et il n'est pas aussi polyvalent que XML

B ; .JSON La promotion du format dans les Web Services en est encore à ses balbutiements.

Convertir XML en JSON en Javascript

Regardez d'abord l'exemple d'appel :

<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 );
Copier après la connexion
Convertir XML en JSON :

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;
};
Copier après la connexion
Convertir JSON en XML :

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez faire attention au site Web chinois php Autres articles connexes !
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);
};
Copier après la connexion

Lecture recommandée :

Quelles sont les méthodes d'analyse de Json


Quelles sont les méthodes permettant à JS de juger json

🎜>

Explication détaillée des principes JSONP et analyse de cas

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Conseils pratiques pour convertir des lettres anglaises pleine chasse en demi-chasse Conseils pratiques pour convertir des lettres anglaises pleine chasse en demi-chasse Mar 26, 2024 am 09:54 AM

Conseils pratiques pour convertir des lettres anglaises pleine chasse en formes demi-largeur. Dans la vie moderne, nous sommes souvent en contact avec des lettres anglaises et nous devons souvent saisir des lettres anglaises lorsque nous utilisons des ordinateurs, des téléphones portables et d'autres appareils. Cependant, nous rencontrons parfois des lettres anglaises pleine chasse et nous devons utiliser la forme demi-largeur. Alors, comment convertir des lettres anglaises pleine chasse en demi-chasse ? Voici quelques conseils pratiques pour vous. Tout d’abord, les lettres et chiffres anglais pleine chasse font référence à des caractères qui occupent une position pleine largeur dans la méthode de saisie, tandis que les lettres et chiffres anglais demi-chasse occupent une position pleine largeur.

Explication détaillée de la méthode d'implémentation de conversion des mois PHP en mois anglais Explication détaillée de la méthode d'implémentation de conversion des mois PHP en mois anglais Mar 21, 2024 pm 06:45 PM

Cet article présentera en détail comment convertir des mois en PHP en mois en anglais et donnera des exemples de code spécifiques. Dans le développement PHP, nous devons parfois convertir des mois numériques en mois anglais, ce qui est très pratique dans certains scénarios de traitement de dates ou d'affichage de données. Les principes de mise en œuvre, les exemples de code spécifiques et les précautions seront expliqués en détail ci-dessous. 1. Principe de mise en œuvre En PHP, vous pouvez convertir des mois numériques en mois anglais en utilisant la classe DateTime et la méthode de format. Date

Comment convertir de la musique qq au format mp3 Convertir de la musique qq au format mp3 sur téléphone mobile Comment convertir de la musique qq au format mp3 Convertir de la musique qq au format mp3 sur téléphone mobile Mar 21, 2024 pm 01:21 PM

QQ Music permet à tout le monde de regarder des films et de soulager l'ennui. Vous pouvez utiliser ce logiciel tous les jours pour satisfaire facilement vos besoins. Un grand nombre de chansons de haute qualité sont disponibles pour que tout le monde puisse les écouter. la prochaine fois que vous les écouterez, vous n'aurez pas besoin d'une connexion Internet. Les chansons téléchargées ici ne sont pas au format MP3 et ne peuvent pas être utilisées sur d'autres plateformes. Une fois l'abonnement expiré, il n'y a aucun moyen de les réécouter. , de nombreux amis souhaitent convertir les chansons au format MP3 Ici, l'éditeur explique Vous proposez des méthodes pour que tout le monde puisse les utiliser ! 1. Ouvrez QQ Music sur votre ordinateur, cliquez sur le bouton [Menu principal] dans le coin supérieur droit, cliquez sur [Transcodage audio], sélectionnez l'option [Ajouter une chanson] et ajoutez les chansons qui doivent être converties ; les chansons, cliquez pour sélectionner Convertir en [mp3]

Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON May 04, 2024 pm 06:15 PM

Les méthodes d'optimisation des performances pour la conversion des tableaux PHP en JSON incluent : l'utilisation d'extensions JSON et de la fonction json_encode() ; l'ajout de l'option JSON_UNESCAPED_UNICODE pour éviter l'échappement de caractères ; l'utilisation de tampons pour améliorer les performances d'encodage de boucle et l'utilisation d'un tiers ; Bibliothèque d'encodage JSON.

Comment les annotations de la bibliothèque Jackson contrôlent-elles la sérialisation et la désérialisation JSON ? Comment les annotations de la bibliothèque Jackson contrôlent-elles la sérialisation et la désérialisation JSON ? May 06, 2024 pm 10:09 PM

Les annotations dans la bibliothèque Jackson contrôlent la sérialisation et la désérialisation JSON : Sérialisation : @JsonIgnore : Ignorer la propriété @JsonProperty : Spécifiez le nom @JsonGetter : Utilisez la méthode get @JsonSetter : Utilisez la méthode set Désérialisation : @JsonIgnoreProperties : Ignorez la propriété @ JsonProperty : Spécifiez le nom @JsonCreator : utilisez le constructeur @JsonDeserialize : logique personnalisée

Tutoriel PHP : Comment convertir un type int en chaîne Tutoriel PHP : Comment convertir un type int en chaîne Mar 27, 2024 pm 06:03 PM

Tutoriel PHP : Comment convertir un type Int en chaîne En PHP, la conversion de données entières en chaîne est une opération courante. Ce didacticiel expliquera comment utiliser les fonctions intégrées de PHP pour convertir le type int en chaîne, tout en fournissant des exemples de code spécifiques. Utiliser cast : En PHP, vous pouvez utiliser cast pour convertir des données entières en chaîne. Cette méthode est très simple. Il vous suffit d'ajouter (string) avant les données entières pour les convertir en chaîne. Vous trouverez ci-dessous un exemple de code simple

Comment convertir des lettres anglaises pleine chasse en lettres demi-chasse Comment convertir des lettres anglaises pleine chasse en lettres demi-chasse Mar 25, 2024 pm 02:45 PM

Comment convertir des lettres anglaises pleine chasse en lettres demi-chasse Dans la vie quotidienne et au travail, nous rencontrons parfois des situations où nous devons convertir des lettres anglaises pleine chasse en lettres demi-chasse, par exemple lors de la saisie de mots de passe informatiques, de la modification de documents ou concevoir des mises en page. Les lettres et chiffres anglais pleine chasse font référence à des caractères de même largeur que les caractères chinois, tandis que les lettres anglaises demi-chasse font référence à des caractères de largeur plus étroite. En fonctionnement réel, nous devons maîtriser quelques méthodes simples pour convertir les lettres anglaises pleine chasse en lettres demi-chasse afin de pouvoir traiter le texte et les chiffres plus facilement. 1. Lettres anglaises pleine largeur et lettres anglaises demi-largeur

Découvrez rapidement la conversion de valeurs ASCII en PHP Découvrez rapidement la conversion de valeurs ASCII en PHP Mar 28, 2024 pm 06:42 PM

La conversion de valeurs ASCII en PHP est un problème souvent rencontré en programmation. ASCII (American Standard Code for Information Interchange) est un système de codage standard permettant de convertir des caractères en nombres. En PHP, nous devons souvent effectuer des conversions entre caractères et nombres via le code ASCII. Cet article expliquera comment convertir les valeurs ASCII en PHP et donnera des exemples de code spécifiques. 1. Changez les personnages

See all articles