JSON till PHP-klass
Omvandla ett JSON-exempel till en typad PHP-klass med konstruktor, fromArray och toArray.
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.