Lim inn PHP til venstre og klikk på "Konverter" — vi gjør det om til JSONLim inn PHP-kode

Hva verktøyet gjør

Har du en PHP-klasse full av typede properties og trenger en JSON-payload til en test, et API-kall eller en fixture, er det tungvint å skrive arrayet for hånd. Lim inn PHP-en her, så får du gyldig JSON tilbake med hver property intakt. Funker med én enkelt klasse, en fil med Doctrine-entities, en Laravel Eloquent-modell eller et vanlig assosiativt array — samme resultat, gyldig JSON ut.

Konverteren gjør nøyaktig det json_encode() gjør i runtime. Typede properties (PHP 7.4+) og readonly-properties (PHP 8.1+) kommer ut som helt vanlige JSON-nøkler. Integers, floats, booleans og strings mappes én-til-én. null blir JSON-null. Nøstede objektinstanser folder seg ut til nøstede JSON-objekter. Assosiative arrays blir JSON-objekter; numerisk indekserte arrays blir JSON-arrays — samme splittelse som json_encode gjør.

Moderne PHP-features er også tatt hånd om. Backed enums serialiseres til backing-verdien sin (string eller int). DateTimeImmutable kommer ut som en ISO-8601-streng. Limer du inn flere klasser på én gang — noe du gjerne napper ned fra Packagist — blir hver top-level-klasse sin egen nøkkel i JSON-en, med nøstede typer utfoldet. Metoder, konstanter og statiske properties hoppes over; bare instansdata havner i outputen.

Slik bruker du det

Tre steg. Funker likt enten du limer inn ti linjer eller en hel Model-fil.

1

Lim inn PHP-en din (eller prøv eksemplet)

Slipp PHP-en din inn i editoren til venstre som den er. En klassedefinisjon, en ny instans, et assosiativt array eller flere klasser — alt går. Klikk på Last inn eksempel hvis du vil se et realistisk case først.

Behold hele PHP-syntaksen — namespaces, use-statements, synlighets-modifikatorer, attributes. Parseren ignorerer den boilerplaten den ikke trenger.

2

Trykk på Konverter

Klikk på den grønne Konverter-knappen. Verktøyet leser PHP-en, tar vare på hver property og klasse og bygger JSON-en i én passering. Du ser en kort loading-indikator mens det kjører.

3

Kopier JSON-en

Det høyre panelet fylles med innrykket JSON. Kopier den rett inn i en HTTP-request-body, en PHPUnit-fixture, en config-fil eller API-dokumentasjonen din.

Når det faktisk er til hjelp

Bygge payloads til API-requests

Du har en CreateOrderRequest-DTO og trenger den matchende JSON-bodyen til Postman, curl eller en integrasjonstest. Lim inn klassen, få payloaden.

Seede Laravel eller Symfony

Gjør en bunke <code>new Product(...)</code>-factory-linjer om til en JSON-seed-fil for database:seed eller fixture-loadere — slutt på håndlagde arrays.

Holde OpenAPI-eksempler ærlige

Generer JSON-eksempler til OpenAPI-spesifikasjonen din direkte fra de faktiske DTO-ene dine, så schema-eksemplene holder seg i sync med koden.

Debugge json_encode-output

Når et objekt ikke serialiseres slik du venter, lim det inn her for å se den rene formen — sammenlign det så med det <code>json_encode()</code> faktisk produserer.

Vanlige spørsmål

Takler den PHP 8 sine typede og readonly-properties?

Ja. Typede properties, nullable typer (?string), readonly-modifikatorer og promoted constructor-properties blir alle plukket opp. Type-hinten endrer ikke JSON-verdien — den forteller bare parseren hva den skal forvente.

Hva med enums?

Backed enums serialiseres til backing-verdien sin (string eller int). Rene enums uten backing-type kommer ut som case-navnet. Det matcher standardoppførselen til json_encode på en BackedEnum.

Assosiativt array vs indeksert array — hvilket blir et objekt?

Samme regel som json_encode: et 0-indeksert sekvensielt array blir et JSON-array; et array med string-nøkler (eller ikke-sekvensielle heltalls-nøkler) blir et JSON-objekt.

Hvordan serialiseres DateTime og DateTimeImmutable?

Som ISO-8601-strenger, samme format som du får fra $dt->format(DateTime::ATOM). Har datoen din en tidssone, blir offseten bevart i outputen.

Kan jeg lime inn en hel models-fil?

Ja. Hver top-level-klasse blir sin egen JSON-oppføring, nøstede objekter folder seg ut naturlig, og properties som settes i constructoren tas med. Private og protected properties kommer også ut — parseren ser på form, ikke synlighet.

Blir koden min lagret?

PHP-en din sendes til backenden for konverteringen og blir ikke lagret — vi logger ikke payloaden. Kast et blikk på sensitiv kode før du limer den inn.

Andre verktøy du kan trenge

PHP til JSON er én brikke. Disse passer godt sammen med det: