JSON naar PHP-klasse
Converteer een JSON-steekproef naar een getypeerde PHP-klasse met constructor, fromArray en toArray.
JSON naar PHP-klasse
Plak een JSON-object of array in en dit hulpmiddel leidt voor elk veld een type af, waarna het een kant-en-klare PHP-klasse genereert: getypeerde eigenschappen, een constructor, een statische fromArray()-factory en een toArray()-methode om het object terug te zetten in een gewoon array. Geneste objecten worden automatisch hun eigen klasses, en identieke vormen worden hergebruikt in plaats van gedupliceerd, dus een payload met meerdere soortgelijk gestructureerde secties produceerde nog steeds een compact bestand.
Klassenaam en namespace benoemen de hoofdklasse en wrappen deze optioneel in een PHP-naamruimte. PHP 8 constructor promotion schrijft eigenschappen rechtstreeks in de constructorsignatuur in plaats van ze apart te declareren — zet deze optie uit voor een klassieke expliciete constructor. Getters en setters genereren voegt accessormethoden toe (isX() voor booleans, getX()/setX() anders) in plaats van eigenschappen rechtstreeks beschikbaar te maken. declare(strict_types=1) voegt PHPs strikte typeheader toe, en docblock-opmerkingen annoteren elke eigenschap met zijn afgeleide type. Array-velden bepaalt of een lijst wordt getypeerd als een gewoon array of gedocumenteerd met zijn elementtype, zoals string[], omdat PHP geen generics heeft voor dat soort typehint.
Een veld dat als null wordt gezien, of dat ontbreekt in sommige elementen van een array van objecten, wordt gegenereerd als nullable — met een veilige isset()-controle wanneer het een genest object moet bouwen of een lijst moet toewijzen, en anders een null-coalescing standaardwaarde. Een sleutel die botst met een PHP-trefwoord of met een cijfer begint, wordt hernoemd naar een geldige eigenschapsnaam, en elke gegenereerde eigenschap behoudt de oorspronkelijke JSON-sleutel als sleutel in fromArray() en toArray().
Alles wordt lokaal in uw browser uitgevoerd — het JSON dat u plakt, kan echte API-reacties of configuratiegegevens bevatten, en wordt nooit ergens anders geüpload. Kopieer de gegenereerde klasse, download deze als .txt-bestand, of stuur de uitvoer terug naar de invoer om deze verder te verfijnen.