← Alle Tools Code Gen

JSON zu PHP Array & Klassen Konverter

JSON einfügen und sofort PHP-Arrays, stdClass-Objekte oder typisierte PHP-8-Klassen erhalten.

0 Z.

Drei PHP-Ausgabemodi

Der assoziative PHP-Array-Modus konvertiert JSON-Objekte in PHP-Array-Literale mit der Standard-array()-Syntax oder der Kurzsyntax []. Das ist die einfachste Ausgabe und erfordert keine Klassendefinitionen — ideal für Konfigurationsdateien, Fixtures und Einmal-Skripte.

Der stdClass-Modus verwendet den json_decode($json)-Ausgabestil und repräsentiert jedes JSON-Objekt als anonymes PHP-Objekt mit öffentlichen Eigenschaften. Das spiegelt wider was PHPs eingebautes json_decode() zurückgibt wenn das zweite Argument false ist.

Der typisierte Klassenmodus generiert PHP-Klassendefinitionen mit typisierten öffentlichen Eigenschaften unter Verwendung der Union- und nullable Typen von PHP 8+. Jedes JSON-Objekt wird zu einer Klasse mit Konstruktor der alle Eigenschaften setzt, stark typisiert mit int, float, string, bool, array und ?T für nullable Felder.

PHP-8-Typsystem und Namenskonventionen

PHP 8 hat Constructor Property Promotion und Union-Typen eingeführt. Der Generator verwendet standardmäßig Constructor Promotion — Eigenschaften direkt in der Konstruktor-Signatur mit Sichtbarkeit und Typ deklariert — was Boilerplate minimiert.

JSON-Schlüssel werden in gültige PHP-Bezeichner nach camelCase-Konvention umgewandelt. Schlüssel die mit Ziffern beginnen erhalten einen Unterstrich-Präfix. Reservierte PHP-Wörter als Eigenschaftsnamen erhalten ebenfalls einen Unterstrich-Präfix und ein Doc-Kommentar bewahrt den ursprünglichen Schlüssel.

Für nullable Eigenschaften gibt der Generator ?string, ?int, ?float, ?bool und ?Klassenname aus. PHP 8.0+ Union-Typen (string|null, int|float) werden verwendet wenn ein Feld gemischte Typen über Array-Elemente enthält.

Laravel- und Symfony-Workflows

Laravel-Entwickler müssen häufig Eloquent-Modellattribute aus API-Antwort-Formen definieren. Die typisierte Klassenausgabe gibt eine typisierte PHP-Klasse die den API-Vertrag widerspiegelt, nützlich als DTO zwischen Service-Klassen.

Symfony-Entwickler die den Serializer-Komponenten oder API Platform verwenden können die generierten typisierten Klassen direkt in ihr Projekt integrieren. Die Klassen sind mit Symfonys PropertyAccess-Komponente kompatibel.

PHP-Entwickler die WordPress-Plugins, Drupal-Module oder eigenständige Skripte erstellen müssen oft JSON-API-Antworten deserialisieren. Die Array-Ausgabe ist die schnellste Integration ohne Autoloading.

FAQ

Werden meine Daten an einen Server gesendet?

Nein. Die gesamte Verarbeitung findet vollständig in Ihrem Browser statt. Ihr JSON verlässt Ihr Gerät nie.

Welchen Ausgabemodus soll ich wählen?

Verwenden Sie Array-Ausgabe für schnelle Skripte und Config-Dateien. stdClass wenn Ihr Code bereits json_decode() verwendet. Typisierte Klassen für wartbare, typsichere PHP-8-Codebasen.

Wie werden PHP-reservierte Wörter als Eigenschaftsnamen behandelt?

PHP-reservierte Wörter wie "class", "match", "fn", "list" und "array" werden mit einem Unterstrich präfixiert (z.B. $_class) und ein Doc-Kommentar bewahrt den ursprünglichen JSON-Schlüssel.

Wird PHP-7-Syntax unterstützt?

Ja. Ein PHP-7-Kompatibilitätsmodus ersetzt Union-Typen durch nullable Typen (?T) und Constructor Promotion durch explizite Eigenschaftsdeklarationen, was Code kompatibel mit PHP 7.4+ erzeugt.

Kann ich Laravel-Eloquent-Modelle generieren?

Die typisierte Klassenausgabe liefert die Eigenschaftsstruktur. Für vollständige Eloquent-Modelle würden Sie extends Model und ein $fillable-Array hinzufügen. Ein Laravel-Stub-Modus fügt diese Boilerplate-Elemente automatisch hinzu.

Ähnliche Tools