Klistra in PHP till vänster och klicka på "Konvertera" — vi gör om det till JSONKlistra in PHP-kod

Vad verktyget gör

Om du har en PHP-klass full av typade properties och behöver en JSON-payload till ett test, ett API-anrop eller en fixture, är det tjatigt att skriva ihop arrayen för hand. Klistra in PHP:n här och du får tillbaka giltig JSON med varje property bevarad. Funkar med en enda klass, en fil med Doctrine entities, en Laravel Eloquent-modell eller en vanlig associativ array — samma resultat, giltig JSON ut.

Konverteraren gör samma sak som json_encode() gör i runtime. Typade properties (PHP 7.4+) och readonly-properties (PHP 8.1+) kommer ut som vanliga JSON-nycklar. Integers, floats, booleans och strängar mappas ett-till-ett. null blir JSON-null. Nästlade objektinstanser viks ut till nästlade JSON-objekt. Associativa arrays blir JSON-objekt; numeriskt indexerade arrays blir JSON-arrays — samma uppdelning som json_encode gör.

Moderna PHP-features hanteras också. Backed enums serialiseras till sitt backing-värde (string eller int). DateTimeImmutable kommer ut som en ISO-8601-sträng. Om du klistrar in flera klasser på en gång — typ nåt du drar hem från Packagist — blir varje top-level-klass sin egen nyckel i JSON:en, med nästlade typer utvikta. Metoder, konstanter och statiska properties hoppas över; bara instansdata tar sig till outputen.

Så använder du det

Tre steg. Funkar likadant oavsett om du klistrar in tio rader eller en hel Model-fil.

1

Klistra in ditt PHP (eller prova exemplet)

Släng in ditt PHP i vänstra editorn som det är. En klassdefinition, en ny instans, en associativ array eller flera klasser — allt funkar. Klicka på Ladda exempel om du vill se ett realistiskt case först.

Behåll hela PHP-syntaxen — namespaces, use-statements, synlighets-modifierare, attributes. Parsern ignorerar boilerplate som den inte behöver.

2

Tryck på Konvertera

Klicka på den gröna Konvertera-knappen. Verktyget läser PHP:n, bevarar varje property och klass och bygger JSON:en i en enda passering. Du ser en kort laddningsindikator medan det kör.

3

Kopiera JSON:en

Högra panelen fylls med indenterad JSON. Kopiera den rakt in i en HTTP-request-body, en PHPUnit-fixture, en config-fil eller din API-dokumentation.

När det faktiskt är till nytta

Bygga payloads för API-requests

Du har ett CreateOrderRequest-DTO och behöver den matchande JSON-bodyn till Postman, curl eller ett integrationstest. Klistra in klassen, få payloaden.

Seeda Laravel eller Symfony

Gör om en hög med <code>new Product(...)</code>-factory-rader till en JSON-seedfil för database:seed eller fixture-loaders — slut med handknåpade arrays.

Hålla OpenAPI-exempel ärliga

Generera JSON-exempel till din OpenAPI-spec direkt från dina riktiga DTO:er, så att schema-exemplen håller sig i synk med koden.

Debugga json_encode-output

När ett objekt inte serialiseras som du väntar dig, klistra in det här för att se den rena formen — jämför sedan med vad <code>json_encode()</code> faktiskt producerar.

Vanliga frågor

Hanterar den PHP 8:s typade och readonly-properties?

Ja. Typade properties, nullable typer (?string), readonly-modifierare och promoted constructor-properties plockas upp. Type-hinten ändrar inte JSON-värdet — den talar bara om för parsern vad den ska vänta sig.

Hur är det med enums?

Backed enums serialiseras till sitt backing-värde (string eller int). Rena enums utan backing-typ kommer ut som case-namnet. Det matchar standardbeteendet hos json_encode på ett BackedEnum.

Associativ array kontra indexerad array — vilken blir ett objekt?

Samma regel som json_encode: en 0-indexerad sekventiell array blir en JSON-array; en array med stringnycklar (eller icke-sekventiella heltalsnycklar) blir ett JSON-objekt.

Hur serialiseras DateTime och DateTimeImmutable?

Som ISO-8601-strängar, samma format som du får från $dt->format(DateTime::ATOM). Om ditt datum har en tidszon, bevaras offseten i outputen.

Kan jag klistra in en hel models-fil?

Ja. Varje top-level-klass blir sin egen JSON-post, nästlade objekt viks ut naturligt, och properties som sätts i konstruktorn tas med. Private och protected properties kommer också ut — parsern tittar på form, inte synlighet.

Sparas min kod?

Din PHP skickas till backenden för konverteringen och sparas inte — vi loggar inte payloaden. För känslig kod, ögna igenom den innan du klistrar in.

Andra verktyg du kan behöva

PHP till JSON är en pusselbit. De här passar bra ihop med det: