Aller au contenu
Tout en local

JSON vers classe PHP

Transformez un exemple JSON en classe PHP typée avec constructeur, fromArray et toArray.

Entrée
Sortie

JSON vers classe PHP

Collez un objet JSON ou un tableau et cet outil déduit un type pour chaque champ, puis génère une classe PHP prête à l'emploi : propriétés typées, un constructeur, une fabrique fromArray() statique et une méthode toArray() pour transformer l'objet en un tableau simple. Les objets imbriqués deviennent leurs propres classes automatiquement, et les formes identiques sont réutilisées plutôt que dupliquées, de sorte qu'une charge utile avec plusieurs sections structurées de manière similaire produit toujours un fichier compact.

Le nom de la classe et le nom de l'espace de noms nomment la classe racine et, éventuellement, l'enveloppent dans un espace de noms PHP. Le constructeur promu de PHP 8 écrit les propriétés directement dans la signature du constructeur au lieu de les déclarer séparément ; désactivez-le pour un constructeur classique explicite. Générer les getters et setters ajoute des méthodes d'accesseur (isX() pour les booléens, getX()/setX() sinon) au lieu d'exposer directement les propriétés. declare(strict_types=1) ajoute l'en-tête de type strict de PHP, et les commentaires de bloc de documentation annoter chaque propriété avec son type déduit. Les champs de tableau déterminent si une liste est typée comme un tableau simple ou documentée avec son type d'élément, tel que string[], puisque PHP n'a pas de génériques pour cela dans l'indice de type.

Un champ vu comme nul, ou absent de certains éléments d'un tableau d'objets, est généré comme nullable, avec une vérification isset() sécurisée lorsqu'il doit construire un objet imbriqué ou mapper une liste, et une valeur par défaut de coalescence nulle sinon. Une clé qui entre en conflit avec un mot-clé PHP ou commence par un chiffre est renommée en un nom de propriété valide, et chaque propriété générée conserve la clé JSON d'origine comme clé de tableau dans fromArray() et toArray().

Tout s'exécute localement dans votre navigateur : le JSON que vous collez, qui peut inclure des réponses API réelles ou des données de configuration, n'est jamais téléchargé nulle part. Copiez la classe générée, téléchargez-la sous forme de fichier .txt, ou renvoyez la sortie à l'entrée pour l'affiner davantage.

FAQ

Quelle version de PHP le code généré cible-t-il ?
PHP 8.0 ou version ultérieure, car les propriétés du constructeur promu et le type mixte sont des fonctionnalités de PHP 8. Désactivez l'option de constructeur promu si vous avez besoin d'une sortie compatible avec PHP 7.
Comment les objets imbriqués sont-ils gérés ?
Chaque forme d'objet distincte devient sa propre classe, avec ses propres méthodes fromArray() et toArray(). Deux champs ayant une forme identique réutilisent la même classe générée au lieu de la dupliquer.
Que se passe-t-il avec un champ qui est parfois nul ou manquant ?
Elle est générée comme une propriété typée nullable. Les scalaires utilisent par défaut null avec l'opérateur de coalescence nulle ; les objets imbriqués et les listes d'objets utilisent une vérification isset() pour que fromArray() n'appelle jamais une méthode sur des données manquantes.
Puis-je générer plusieurs classes à partir d'un exemple JSON ?
Oui. Chaque objet imbriqué dans l'exemple produit sa propre classe dans le même fichier, dans l'ordre des dépendances, de sorte que le fichier est prêt à l'emploi tel quel.
Mon JSON est-il téléchargé quelque part ?
Non. La génération de classe s'exécute entièrement dans votre navigateur : votre JSON ne quitte jamais votre appareil.