Ga naar inhoud
100% lokaal

JSON naar PHP-klasse

Converteer een JSON-steekproef naar een getypeerde PHP-klasse met constructor, fromArray en toArray.

Invoer
Uitvoer

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.

FAQ

Op welke PHP-versie gericht is de gegenereerde code?
PHP 8.0 of hoger, omdat promoted constructor properties en het gemengde type PHP 8-functies zijn. Schakel de promoted-constructor-optie uit als u PHP 7-compatibele uitvoer nodig hebt.
Hoe worden geneste objecten verwerkt?
Elke verschillende objectvorm wordt zijn eigen klasse met zijn eigen fromArray()- en toArray()-methoden. Twee velden met een identieke vorm hergebruiken dezelfde gegenereerde klasse in plaats van deze te dupliceren.
Wat gebeurt er met een veld dat soms null of ontbrekend is?
Het wordt gegenereerd als een nullable, getypeerde eigenschap. Scalars geven standaard null met de null-coalescing operator; geneste objecten en lijsten van objecten gebruiken een isset()-controle zodat fromArray() nooit een methode aanroept op ontbrekende gegevens.
Kan ik meerdere klasses uit één JSON-steekproef genereren?
Ja. Elk genest object in het voorbeeld produceert zijn eigen klasse in hetzelfde bestand, in dependency volgorde, dus het bestand is onmiddellijk klaar voor gebruik.
Wordt mijn JSON ergens geüpload?
Nee. Het genereren van klasses vindt volledig in uw browser plaats — uw JSON verlaat nooit uw apparaat.