Wejście JSON

Wyjście PHP

Czym jest JSON do PHP?

PHP używa json_decode() do parsowania JSON na tablice lub obiekty. Dla typowanego dostępu często potrzebne są klasy. To narzędzie generuje definicje klas PHP z Twojego JSON. Używaj ich z json_decode() i ręcznym mapowaniem, lub z json_encode() do serializacji. PHP 7.4+ ma typowane właściwości klas, a atrybuty PHP 8.0+ zwiększają bezpieczeństwo typów.

Konwersja odbywa się w przeglądarce. Ustaw nazwę klasy i przestrzeń nazw w konfiguracji. Włącz Typowane właściwości i Nullable. Nic nie jest wysyłane na serwer.

Jak używać tego narzędzia

1

Wklej JSON

Wklej swój JSON lub wczytaj plik. Ustaw nazwę klasy i przestrzeń nazw w konfiguracji. Włącz Typowane właściwości dla podpowiedzi typów PHP 7.4+.

2

Przejrzyj klasy

Prawy panel pokazuje wygenerowane klasy PHP. Zagnieżdżone obiekty stają się oddzielnymi klasami. Tablice otrzymują array lub array<Type>. Używaj json_decode($str, false) dla obiektów lub mapuj na swoje klasy.

3

Kopiuj lub pobierz

Użyj Kopiuj lub Pobierz. Wklej do swojego projektu. Do formatowania JSON najpierw użyj Formatera JSON. Do walidacji użyj Walidatora JSON.

Przykłady JSON do PHP

Oto przykład generowania klas PHP z obiektu JSON.

Przykład: Rekord subskrybenta

Wejście JSON:

Wejście

Wygenerowane wyjście PHP:

Wyjście

Kiedy JSON do PHP jest przydatny

Podczas integracji REST API w Laravel, WordPress lub zwykłym PHP, często potrzebne są typowane klasy dla odpowiedzi API. Wklejenie tu przykładowej odpowiedzi dostarcza klasy PHP do użycia z json_decode() i ręcznym mapowaniem. Do testowania API przydaje się Postman. Payloady webhooków, pliki konfiguracyjne i eksporty baz danych w JSON korzystają z tego samego podejścia. Do wyodrębniania konkretnych wartości z dużych odpowiedzi użyj jq.

Często zadawane pytania

Typowane właściwości?

PHP 7.4+ obsługuje typowane właściwości klas. Włączenie tego dostarcza public string $name; zamiast bez typu. Wymaga PHP 7.4 lub nowszego.

camelCase vs snake_case?

PHP często używa snake_case; API JSON używają camelCase. Generator używa kluczy JSON bez zmian. Dodaj własną logikę lub użyj biblioteki mapującej klucze.

Czy moje dane są wysyłane gdziekolwiek?

Nie. Generowanie odbywa się w przeglądarce.

Typy nullable?

Włącz dla pól opcjonalnych. PHP 7.1+ obsługuje ?Type dla nullable. Przydatne gdy JSON może pominąć pole.

Czy mogę używać z Laravel?

Tak. Wygenerowane klasy działają wszędzie. Eloquent Laravel używa innych wzorców; dla odpowiedzi API te DTO są odpowiednie. Szczegóły formatu znajdziesz w przewodniku MDN JSON.

Powiązane narzędzia

PHP JSON, Specyfikacja JSON, RFC 8259, MDN, Laravel.