Aller au contenu

Convertir TOML en JSON — Numio

Convertissez des tables, tableaux et dates TOML en JSON dans votre navigateur. Vérifiez la structure d’un fichier de configuration et obtenez une erreur, plutôt que des valeurs modifiées sans avertissement, pour les nombres que le JSON ne peut pas représenter.

Voir les tables et les tableaux de tables d’un fichier de configuration sous forme d’objets et de tableaux JSON.

Converted in your browser. Comments are omitted. Non-finite numbers and unsafe integers are rejected instead of silently losing their values.

Load an example (replaces your input)

TOML

Quand l’utiliser

  • Voir les tables et les tableaux de tables d’un fichier de configuration sous forme d’objets et de tableaux JSON.
  • Transmettre un fichier TOML commenté à un outil qui n’accepte que le JSON.

Mode d’emploi

  1. Collez du TOML ou chargez un exemple (paramètres et tables, tableaux de tables, dates et chaînes multilignes).
  2. Lisez le JSON à droite : [server] devient un objet et [[products]] un tableau d’objets.
  3. En cas d’erreur, cherchez les clés en double et les problèmes de guillemets. Vérifiez les chaînes, nombres et dates avant de copier.

Entrée TOML

[[products]]
code = "001"
name = "Notebook"

[[products]]
code = "002"
name = "Pen"

Sortie JSON

{
  "products": [
    { "code": "001", "name": "Notebook" },
    { "code": "002", "name": "Pen" }
  ]
}

Détails et limites

La conversion s’exécute dans votre navigateur. Les commentaires, l’espacement et les styles de guillemets TOML ne sont pas repris.

Le JSON n’a pas de type date, donc les dates deviennent des chaînes ; la notation du fuseau horaire peut être normalisée. Mettez les valeurs entre guillemets dans le TOML si vous en avez besoin telles quelles.

inf et nan n’existent pas en JSON, et les entiers ne sont exacts que jusqu’à ±9,007,199,254,740,991. Ces valeurs provoquent une erreur au lieu de null ou de chiffres arrondis ; écrivez les grands ID sous forme de chaînes.

Seule la syntaxe TOML est vérifiée. Les champs obligatoires de Cargo.toml, pyproject.toml ou d’autres formats ne sont pas validés.

FAQ

Puis-je convertir wrangler.toml en JSON ?

Oui pour la structure : les tables deviennent des objets et les [[arrays]] des tableaux d’objets avec les mêmes noms de clés. Les commentaires sont perdus : comparez donc le résultat avec la documentation de configuration Wrangler de Cloudflare avant de remplacer votre fichier.

Comment convertir du TOML en JSON en Python ?

Python 3.11 et versions ultérieures incluent tomllib : python -c "import json,sys,tomllib; print(json.dumps(tomllib.load(open(sys.argv[1],'rb')), indent=2, default=str))" config.toml. default=str transforme les dates en chaînes, comme le fait cette page.

Puis-je conserver les zéros initiaux ?

Écrivez la valeur sous forme de chaîne, par exemple code = "001". Utilisez des guillemets pour les identifiants qui ne doivent pas être traités comme des nombres.

Pourquoi un grand nombre provoque-t-il une erreur ?

Les nombres JavaScript ne peuvent pas représenter exactement tous les grands entiers, et le JSON n’a ni inf ni nan. La conversion s’arrête au lieu de modifier la valeur ; écrivez sous forme de chaînes dans le TOML les ID qui doivent rester exacts.

Spécifications et références