JSON en XML
Transmettez des données à un système qui ne lit que le XML : dans l'exemple, une commande avec l'id A-1 et un total de 85.00 plus la cliente Ada devient un document dans un élément factura, chaque valeur dans sa balise. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Les clés deviennent des balises, les valeurs leur contenu, les tableaux une suite de balises répétées.
Pourquoi les anciens systèmes demandent encore du XML
Derrière beaucoup de services modernes se cache un système plus ancien qui n'accepte que le XML : une plateforme de facturation, un portail administratif ou une intégration comptable que personne ne veut refaire. De nombreuses interfaces conçues à l'époque des échanges de messages entre entreprises fonctionnent encore ainsi. Écrire la conversion à la main, c'est là que les erreurs se glissent : une esperluette non échappée ou une balise de fermeture oubliée rend tout le document illisible pour un destinataire strict. Cet outil produit à chaque fois un XML bien formé à partir de vos données, prêt à partir vers le système qui l'attend.
Comment chaque partie de vos données devient du XML
Vous nommez l'élément extérieur, factura dans l'exemple. À l'intérieur, chaque nom de vos données devient un élément qui contient sa valeur, les sections imbriquées deviennent des éléments imbriqués, chaque élément de liste reprend le nom et une valeur vide devient un élément vide. Les caractères spéciaux sont échappés, et le document commence par une déclaration de version 1.0 en UTF-8, indenté de deux espaces par niveau. Dans l'exemple, pedido contient id A-1 et total 85.00, suivi de cliente avec Ada. Chaque entrée devient un élément et non un attribut : comparez le résultat avec la spécification du destinataire.
De la clé à la balise
Un objet imbriqué se traduit par des balises imbriquées, ce qui reproduit fidèlement la hiérarchie de départ. Le document obtenu est indenté et lisible, prêt à être relu ou déposé dans le système destinataire, sans que vous ayez à écrire la moindre balise à la main.
Tableaux et éléments répétés
C’est la convention attendue par la plupart des systèmes qui consomment du XML. Selon les exigences du destinataire, il peut être utile de choisir des noms de clés au singulier pour que les balises répétées se lisent naturellement dans le document final.
Un document propre et local
Vous récupérez un XML correctement échappé, où les caractères spéciaux comme l’esperluette ou les chevrons sont traités pour rester valides. Rien n’est conservé après la fermeture de l’onglet, ce qui convient aux échanges contenant des données sensibles.
Questions fréquentes
Les caractères spéciaux sont-ils correctement échappés ?
Oui. Les esperluettes, chevrons et guillemets sont échappés pour que le document XML reste valide.
Est-ce payant ?
Non, l’usage dans le navigateur est gratuit et illimité.
Puis-je influencer le nom des balises ?
Des clés bien nommées donnent un XML lisible.
Comment les listes sont-elles converties en XML ?
Chaque élément d'une liste devient un élément à part qui reprend le nom de la liste, l'un après l'autre. C'est la façon habituelle dont le XML exprime une série de valeurs, et la forme qu'attendent la plupart des systèmes destinataires.
Que deviennent les valeurs vides ?
Une valeur vide devient un élément vide portant son nom, sans contenu. L'information reste donc présente dans le document : le système destinataire voit que la donnée existe mais n'a pas de valeur, au lieu de la voir disparaître.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/json-to-xml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"json":{"a":1}}'const res = await fetch("https://api.kit.forhosting.com/data/json-to-xml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"json": {
"a": 1
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/json-to-xml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"json": {
"a": 1
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/json-to-xml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"json":{"a":1}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"json":{"a":1}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/json-to-xml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"json": {
"a": 1
}
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_to_xml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cet outil produit un document XML à partir d’un JSON. Pratique quand vous travaillez en JSON mais devez dialoguer avec un système plus ancien, un logiciel comptable ou une administration qui n’accepte, en entrée, qu’un fichier au format XML.
De la clé à la balise
Chaque clé de votre JSON donne le nom d’une balise, et sa valeur en devient le contenu.
Tableaux et éléments répétés
Un tableau JSON n’a pas d’équivalent direct en XML : il se traduit par une balise répétée autant de fois qu’il y a d’éléments.
Un document propre et local
La génération se fait entièrement dans votre navigateur, sur cette page : le JSON n’est pas transmis à un serveur.
Cas d'intégration
Alimenter un système hérité
Menuiserie Rousseau & Fils doit transmettre ses commandes à une plateforme partenaire qui n’ingère que du XML, alors que son application interne raisonne en JSON.
Préparer un échange normalisé
Nadia Benali convertit un JSON en XML pour respecter le format d’import imposé par un logiciel comptable, sans passer par un développement dédié.
Générer un fichier de configuration
Thomas Rousseau produit un fichier XML de paramétrage à partir d’un JSON de travail, plus commode à éditer au quotidien.
Questions techniques
Comment un tableau JSON est-il transcrit ?
Chaque élément du tableau devient une occurrence d’une même balise. C’est la façon habituelle de représenter une liste en XML.
Le JSON est-il envoyé sur vos serveurs ?
Non, la conversion est réalisée localement dans le navigateur ; aucune donnée n’en sort.
Quelle taille maximale est acceptée ?
25 Mo par fichier.