Convertisseur XML en JSON

Convertissez des documents XML en JSON propre et structuré directement dans votre navigateur.

Vous recherchez JSON → XML ?Convertisseur JSON en XML

Charge utile source (XML)

UTF-8 · XML 1.0
10 lines·265 chars·265 B

Résultat JSON analysé

Format de sortie
21 lines·393 B·0.00ms
XML valide
  • Zéro transmission sur le serveur
    Vos documents XML sont traités exclusivement dans la mémoire de votre navigateur. Les données ne touchent jamais les serveurs distants.
  • Cartographie structurelle prévisible
    Les attributs XML, les nœuds imbriqués, les balises frères et sœurs répétées et les blocs CDATA sont mappés de manière déterministe aux structures JSON.
  • Validation XML en temps réel
    La syntaxe mal formée, les balises non fermées et les erreurs de caractères sont identifiées avec des numéros de ligne et de colonne précis.

Fondation technique

Comprendre XML → Mappage JSON

XML et JSON représentent des données hiérarchiques en utilisant des modèles d'arborescence fondamentalement différents. ToolPorta mappe les nœuds XML en objets JSON propres et idiomatiques selon des règles prévisibles.

Contrairement à XML, JSON n'a pas de concept natif d'attributs ni de clés d'objet en double. ToolPorta mappe les attributs XML avec un préfixe « @ » et vectorise automatiquement les balises frères et sœurs répétées dans des tableaux JSON.

Notion XMLReprésentation JSONExemple de mappage
Élément avec texteClé/Valeur de chaîne<name>Ali</name> → "nom": "Ali"
Attributs XML@ Propriété Préfixe<user id="12"> → "@id": "12"
Éléments répétésTableau JSONPlusieurs <tag> → "tag": ["A", "B"]
Attributs + Texte@attr et #text<price cur="MAD">100</price> → "#texte" : "100"
Espaces de nomsClé qualifiée<soap:Envelope> → "savon:Enveloppe": { ... }
Blocs CDATAChaîne sans échappement<![CDATA[raw]]> → "brut"

Exemple de contrat de conversion

Document XML d'entrée
<user id="42" active="true">
  <name>Yassine</name>
  <tag>developer</tag>
  <tag>morocco</tag>
</user>
Objet JSON résultant
{
  "user": {
    "@id": "42",
    "@active": "true",
    "name": "Yassine",
    "tag": [
      "developer",
      "morocco"
    ]
  }
}

Vous souhaitez convertir du XML en JSON sans perdre vos attributs, textes mixtes ni structures de tableaux ?

Lire le guide complet
Référence du code

Guides de mise en œuvre pour les développeurs

Extraits de production pour analyser et convertir XML en JSON sur des environnements d'exécution standard.

// Node.js & Browser via fast-xml-parser
import { XMLParser } from "fast-xml-parser";

const xmlData = '<user id="42"><name>Yassine</name></user>';

const parser = new XMLParser({
  ignoreAttributes: false,
  attributeNamePrefix: "@",
  textNodeName: "#text"
});

const jsonObj = parser.parse(xmlData);
console.log(JSON.stringify(jsonObj, null, ));

Base de connaissances

Foire aux questions

Les attributs sont convertis en propriétés d'objet préfixées par un caractère '@' (par exemple, id="42" devient "@id": "42"). Si un élément contient à la fois des attributs et du texte interne, le texte est capturé sous la clé "#text".
Lorsqu'un élément XML contient plusieurs enfants avec le même nom de balise, l'analyseur les combine automatiquement dans un tableau JSON de valeurs ou d'objets.
Par défaut, les préfixes d'espace de noms (tels que <soap:Envelope> ou <xmlns:atom>) sont conservés dans le cadre de la clé d'objet JSON. Vous pouvez activer la suppression de l'espace de noms dans les options avancées.
Non. Toutes les analyses, validations et générations JSON s'exécutent localement dans votre navigateur à l'aide de fast-xml-parser et d'API Web. Aucune requête réseau n'est effectuée.
Les valeurs XML sont intrinsèquement du texte. La conversion automatique de chaînes telles que « 0123 » ou « 1,00 » en nombres peut entraîner une perte de données ou supprimer les zéros non significatifs. Vous pouvez activer « Inférer des nombres et des booléens » dans les options avancées si vous préférez les primitives saisies.
L'analyseur effectue une validation syntaxique stricte avant l'analyse. Si une balise n'est pas fermée ou ne correspond pas, les numéros exacts de ligne et de colonne sont indiqués dans la barre d'outils. Les déclarations DTD et DOCTYPE sont explicitement rejetées pour des raisons de sécurité.
Voir tous les outils (15)