Hoppa till innehåll
100% lokalt

JSON till PHP-klass

Omvandla ett JSON-exempel till en typad PHP-klass med konstruktor, fromArray och toArray.

Inmatning
Utmatning

JSON till PHP-klass

Klistra in ett JSON-objekt eller array och det här verktyget härleder en typ för varje fält, sedan genererar det en färdig-att-använda PHP-klass: typade egenskaper, en konstruktor, en statisk fromArray()-fabrik och en toArray()-metod för att konvertera objektet tillbaka till en vanlig array. Kapslade objekt blir automatiskt sina egna klasser, och identiska former återanvänds istället för att dupliceras, så en payload med flera likartade strukturerade avsnitt producerar fortfarande en kompakt fil.

Klassnamn och namnrymd namnger rotkl assen och omsluter den valfritt i en PHP-namnrymd. PHP 8 promoted constructor skriver egenskaper direkt i konstruktorsignaturen istället för att deklarera dem separat — stäng av denna inställning för en klassisk explicit konstruktor. Generera getters och setters lägger till accessormetoder (isX() för booleaner, getX()/setX() annars) istället för att exponera egenskaper direkt. declare(strict_types=1) lägger till PHPs strikta typ-header, och docblock-kommentarer annotat varje egenskap med sin härledd typ. Array-fält avgör om en lista skrivs som ett vanligt array eller dokumenteras med dess elementtyp, till exempel string[], eftersom PHP inte har generics för denna typ av typhint.

Ett fält som ses som null, eller som saknas från vissa element i en array av objekt, genereras som nullable — med en säker isset()-kontroll när det behöver bygga ett kapslat objekt eller mappa en lista, och en null-coalescing standard annars. En nyckel som kolliderar med ett PHP-nyckelord eller börjar med en siffra byter namn till ett giltigt egenskapsnamn, och alla genererade egenskaper behåller den ursprungliga JSON-nyckeln som dess nyckel i fromArray() och toArray().

Allt körs lokalt i din webbläsare — JSON som du klistrar in, som kan innehålla verkliga API-svar eller konfigurationsdata, laddas aldrig upp någonstans. Kopiera den genererade klassen, ladda ned den som en .txt-fil, eller skicka utdata tillbaka till inmatningen för att förbättra den ytterligare.

FAQ

Vilken PHP-version riktas den genererade koden in?
PHP 8.0 eller senare, eftersom promoted constructor properties och mixed type är PHP 8-funktioner. Stäng av alternativet promoted constructor om du behöver PHP 7-kompatibel utdata.
Hur hanteras kapslade objekt?
Varje distinkt objektform blir sin egen klass, med sina egna fromArray()- och toArray()-metoder. Två fält med identisk form återanvänder samma genererade klass istället för att duplicera den.
Vad händer med ett fält som ibland är null eller saknas?
Det genereras som en nullable, typifierad egenskap. Skalarer har en standard null med null-coalescing-operatorn; kapslade objekt och listor av objekt använder en isset()-kontroll så fromArray() aldrig anropar en metod på saknade data.
Kan jag generera flera klasser från ett JSON-exempel?
Ja. Varje kapslat objekt i exemplet producerar sin egen klass i samma fil, i beroendeordning, så filen är redo att användas omedelbar.
Laddas min JSON upp någonstans?
Nej. Klassgenerationen körs helt i din webbläsare — din JSON lämnar aldrig din enhet.