Colle ton Ruby à gauche et clique sur "Convertir" — on le transforme en JSONColle du code Ruby

Ce que fait cet outil

Si tu as une classe Ruby avec une flopée d'attributs et qu'il te faut un payload JSON pour un test, un appel d'API ou une fixture, écrire le hash à la main, c'est la corvée. Colle le Ruby ici et tu récupères du JSON valide avec chaque champ préservé. Que ce soit une seule classe Order, un Customer imbriqué avec des adresses, ou un fichier entier de définitions de modèles Rails, la sortie correspond à ce que to_json te donnerait à l'exécution.

Le convertisseur comprend comment Ruby sérialise vraiment. La stdlib json transforme les clés :symbol en chaînes (parce que JSON n'a que des clés chaîne), nil devient null, et Time / Date ressortent en chaînes ISO-8601. Les hashes avec clés symbole et clés chaîne sont tous les deux normalisés, et les tableaux de types mixtes restent intacts. Les instances imbriquées — une Address dans un Order — sont développées en objets JSON imbriqués, pas stringifiées. Les détails sont sur ruby-doc.org.

Colle un fichier complet d'une gem ou de ton app Rails et chaque classe de niveau racine ressort comme sa propre entrée JSON, avec les variables d'instance posées dans initialize reportées dans la sortie. attr_accessor, attr_reader et les @ivars bruts sont tous captés. Si le parseur voit un Struct ou un OpenStruct, il traite les membres pareil. Les méthodes sont zappées — seules les données atterrissent dans le JSON.

Comment l'utiliser

Trois étapes. Ça marche pareil que tu colles quelques lignes ou un dossier models/ entier.

1

Colle ton Ruby (ou teste l'exemple)

Balance ton Ruby dans l'éditeur de gauche tel quel. Une définition de classe, un hash literal, plusieurs classes ou une instance .new — tout passe. Clique sur Charger un exemple si tu veux voir un cas réaliste d'abord.

Pas besoin de rogner le code — garde la syntaxe Ruby, les lignes require et les commentaires comme ils sont. Le parseur ignore ce qui n'est pas de la donnée. Pour les cas limites, les docs de la stdlib JSON valent le coup d'œil.

2

Appuie sur Convertir

Clique sur le bouton vert Convertir. L'outil lit le Ruby, préserve chaque classe et attribut, et sort le JSON en une passe. Tu verras un court indicateur de chargement pendant qu'il tourne.

3

Copie le JSON

Le panneau de droite se remplit de JSON indenté et conforme à la spec. Copie-le dans une requête Postman, une fixture de test, un fichier de seeds Rails ou la doc de ton API.

Quand ça rend vraiment service

Fixtures de test pour RSpec

Tu as un modèle Order avec 20 attributs et il te faut du JSON pour mocker un service externe. Colle la classe, récupère le payload, largue-le dans ton spec.

Seeder une app Rails

Transforme un paquet de lignes <code>Product.new(...)</code> en un fichier JSON de seed pour db/seeds ou un loader de données de staging — sans taper à la main.

Une doc qui colle à tes modèles

Génère des exemples JSON pour un README ou une référence d'API directement depuis tes classes Ruby, comme ça la doc ne dérive jamais du code.

Déboguer des problèmes de sérialisation

Quand <code>to_json</code> fait n'importe quoi, colle le Ruby ici pour voir la forme JSON attendue et la comparer à ce que ton app envoie vraiment.

Questions fréquentes

Je peux coller plusieurs classes d'un coup ?

Oui. Colle un fichier entier. Chaque classe de niveau racine ressort comme sa propre entrée JSON, avec les classes imbriquées développées en objets imbriqués. Les méthodes sont ignorées — seules les variables d'instance et leurs valeurs atterrissent dans la sortie.

Comment sont gérés les symboles et les clés chaîne ?

JSON n'a que des clés chaîne, donc :name devient "name" — même comportement que la stdlib json. Si tu as un hash qui mélange clés symbole et clés chaîne, les deux sont normalisées en chaîne dans la sortie.

Et Time, Date, BigDecimal ?

Time et DateTime ressortent en chaînes ISO-8601. Date est une chaîne de date ISO. BigDecimal devient un nombre JSON. nil est null. Les ranges et les regex sont stringifiés — le reste des types standard sont mappés comme le to_json par défaut de Ruby les fait.

Ça gère Struct et OpenStruct ?

Oui. Un Struct avec les membres :name, :price est sérialisé en objet JSON avec ces clés. Idem pour OpenStruct — les attributs dynamiques sont captés et émis.

Est-ce que mon code est stocké ?

Ton Ruby est envoyé au backend pour la conversion et n'est pas persisté — on ne log pas le payload. Comme toujours avec les outils en ligne, si le code est vraiment sensible, relis-le avant.

Et si le code a des méthodes ou des blocs ?

Les méthodes et les blocs sont zappés — ce ne sont pas des données. Dans le JSON n'atterrissent que le nom de classe, les variables d'instance de initialize et les valeurs littérales, donc le reste de ton modèle ressort nickel.

D'autres outils qui peuvent servir

Ruby vers JSON n'est qu'une pièce. Ceux-ci vont bien avec :