UltKit

Convertisseur XML en JSON

Sortez les données d'une réponse SOAP, d'un flux RSS, d'un fichier de configuration ou de l'export d'un ancien système et passez-les dans le JSON que votre code JavaScript, Python ou votre outil no-code lit directement, sans écrire de parseur à la main.

Convertisseur de données

ou déposez Fichiers CSV, TSV, TXT … ici ·

95 Mo max. par fichier· Jusqu'à 20 fichiers· Supprimés après 30 minutes

Sortie

Les fichiers sont traités sur nos serveurs et supprimés après 30 minutes.

Comment utiliser cet outil

  1. 1

    Importez le fichier XML

    Déposez vos fichiers .xml dans la zone d'import, jusqu'à 20 par lot et 95 Mo chacun. Chaque fichier est converti séparément.

  2. 2

    Choisissez lisible ou compact

    Mise en forme lisible est activée : le JSON est indenté pour faciliter la lecture et la relecture du code. Désactivez-la dans Réglages avancés pour obtenir une sortie compacte sur une seule ligne, idéale pour la charge utile d'une API.

  3. 3

    Convertissez et utilisez le JSON

    Cliquez sur Convertir en JSON, téléchargez le fichier .json et chargez-le dans votre code ou votre outil.

Importez le XML et cliquez sur Convertir en JSON : les éléments deviennent des clés, les éléments répétés des tableaux et les attributs sont conservés sous forme de clés préfixées par @, sans perdre d'information contenue dans les balises.

Qui a besoin d'un convertisseur XML en JSON

XML 1.0 est devenu une recommandation du W3C en février 1998 et, pendant la décennie suivante, c'était le langage des échanges entre systèmes : services web SOAP, flux RSS et Atom, documents Office, messages bancaires, catalogues produits. Beaucoup de ces systèmes fonctionnent encore. Le JSON, spécifié dans la RFC 8259, a pris le relais pour les nouvelles API web, car JavaScript le lit sans bibliothèque d'analyse et qu'il correspond directement aux listes et dictionnaires de presque tous les langages.

Ceux qui convertissent font donc généralement le pont entre deux époques. Un développeur front-end reçoit une réponse SOAP d'un prestataire de paiement ou de livraison et veut un simple objet. Un créateur d'automatisations sous Zapier ou Make intègre le flux XML d'un fournisseur dans un scénario qui fonctionne mieux avec du JSON. Un ingénieur data migre les fichiers de configuration d'une ancienne application Java, ou un étudiant a besoin d'un flux RSS en JSON pour un projet de cours. Tous veulent la même structure, sans les chevrons.

Convertir XML en JSON : correspondance des balises, attributs et texte

XML en entrée : une commande avec un attribut, un client et deux articles
<order id="A-77">
  <customer>Lena Ortiz</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Lampe de bureau</item>
  <item sku="0108">Ampoule LED</item>
</order>
Comment chaque partie de la commande ci-dessus apparaît dans le JSON
Élément XMLExempleRésultat JSON
Élément racine<order>Clé de premier niveau order
Attributid="A-77""@id": "A-77"
Élément contenant uniquement du texte<customer>"customer": "Lena Ortiz"
Texte et attribut<total currency="EUR">…</total>{"@currency": "EUR", "#text": "59.90"}
Élément répétédeux balises <item>tableau "item": [ … , … ]
Commentaire<!-- note -->Supprimé ; JSON n'a pas de commentaires

XML

Extensible Markup Language

Le XML est un langage de balisage pour les données structurées publié par le W3C en 1998. Il utilise des balises imbriquées avec des attributs et prend en charge les schémas, les espaces de noms et la validation, ce qui le rend robuste pour les documents complexes. Il sous-tend les flux RSS, le SVG, les documents Office, les sitemaps et de nombreux échanges de données en entreprise et dans l'administration. Le XML est verbeux comparé au JSON, mais tous les langages de programmation et de nombreux tableurs peuvent le lire.

Compression
–
Transparence
–
Animation
–
Année de création
1998 · W3C
Convertisseur XML

JSON

JavaScript Object Notation

JSON est un format texte léger pour les données structurées, popularisé par Douglas Crockford au début des années 2000 et normalisé par la RFC 8259 et ECMA-404. Il représente des objets, tableaux, chaînes, nombres, booléens et null avec une syntaxe simple et lisible. C'est le format par défaut des API web, des fichiers de configuration et des échanges de données entre applications dans presque tous les langages de programmation. Il n'intègre ni commentaires, ni dates, ni schémas, et les gros fichiers imbriqués sont difficiles à lire sans visionneuse.

Compression
–
Transparence
–
Animation
–
Année de création
2001 · Douglas Crockford
Convertisseur JSON

On convertit du XML en JSON quand les données d'un système ancien ou d'entreprise doivent atteindre une application web, un script ou un outil d'automatisation : le JSON s'analyse nativement en JavaScript et correspond directement aux dictionnaires Python.

Les éléments du XML qui n'ont pas d'équivalent en JSON

Les deux formats décrivent des arbres, mais XML comporte des éléments que JSON n'a jamais eus. Les espaces de noms, définis par le W3C en 1999, permettent à un document de mêler des vocabulaires comme soap: et xsi: ; en JSON, ils ne subsistent que dans les noms de clés. Les commentaires et les instructions de traitement n'ont nulle part où aller et sont supprimés. Le contenu mixte, c'est-à-dire du texte entrecoupé de balises enfants, comme un paragraphe XHTML avec un mot en gras, est valide en XML mais devient malaisé en JSON : le XML de type document se convertit donc mieux en HTML ou en Markdown qu'en JSON.

L'ordre est le point subtil. XML conserve les éléments frères dans leur séquence, et un schéma peut en dépendre ; les clés d'un objet JSON ne sont, selon la norme, pas ordonnées. Les éléments répétés gardent leur ordre dans leur tableau, ce qui couvre la plupart des données réelles. Si le XML est une liste plate d'enregistrements destinée à un tableur plutôt qu'à du code, XML en Excel vous donne directement des lignes et des colonnes, et XML en CSV produit un fichier pour un import en base de données.

Questions sur la conversion XML en JSON

Pourquoi un élément est-il un tableau dans un fichier et un objet dans un autre ?

Un convertisseur ne voit que ce que contient le document. Si une commande comporte trois balises item, items devient un tableau ; s'il n'y en a qu'une, il n'y a rien à répéter et le résultat est un objet unique. Le code qui lit le JSON doit accepter les deux formes, ou placer l'objet unique dans un tableau avant de boucler.

Comment les attributs XML sont-ils écrits dans le JSON ?

Chaque attribut devient une clé précédée d'un @, si bien que currency="EUR" donne "@currency": "EUR". Lorsqu'un élément possède à la fois des attributs et du texte, le texte est placé dans une clé #text à côté d'eux. Cette convention évite les collisions entre attributs et éléments enfants portant le même nom.

Les nombres du XML deviennent-ils des nombres JSON ?

XML n'a pas de types de données propres : 42 et "42" s'écrivent de la même façon dans une balise. Les valeurs ressortent donc sous forme de chaînes, ce qui protège les codes postaux et les identifiants comme 007. Convertissez ensuite en nombres les champs dont votre code a besoin.

Que deviennent les préfixes d'espace de noms comme soap:Envelope ?

Le préfixe reste dans le nom de la clé : l'enveloppe apparaît donc sous la forme soap:Envelope et la déclaration d'espace de noms sous la forme d'une clé @xmlns:soap. Les éléments issus de vocabulaires différents restent ainsi distincts ; supprimez les préfixes dans votre code si vous n'en utilisez qu'un.

Puis-je reconvertir le JSON en XML ensuite ?

Oui, avec JSON en XML. La même convention @ et #text s'applique : les attributs redeviennent des attributs. Les commentaires et l'indentation d'origine ne reviennent pas, puisque le JSON ne les a jamais contenus.