Wejście JSON

Wyjście Dart

Czym jest JSON do Dart?

Dart używa klas dla danych strukturalnych. Gdy konsumujesz JSON w aplikacjach Flutter lub Dart, potrzebujesz pasujących klas z właściwymi nazwami i typami pól. Specyfikacja JSON definiuje obiekty, tablice, ciągi, liczby i wartości logiczne — ale Dart wymaga jawnych definicji klas dla każdego zagnieżdżonego obiektu.

To narzędzie generuje klasy Dart z Twojego JSON. Włącz JsonSerializable dla metod fromJson/toJson. Włącz typy Nullable dla pól opcjonalnych. Wyjście działa z json.decode() i json.encode().

Konwersja działa w całości w Twojej przeglądarce. Twój JSON nigdy nie jest wysyłany na serwer.

Kiedy JSON do Dart jest pomocny

Podczas budowania aplikacji Flutter lub Dart korzystających z REST API potrzebujesz typowanych klas. Wklej tutaj przykładową odpowiedź, aby wygenerować pasujące klasy.

Jak używać tego narzędzia

1

Wklej lub wczytaj JSON

Skopiuj swój JSON i wklej go do lewego edytora. Możesz też kliknąć Wczytaj, aby załadować plik. Użyj przycisku Przykład dla przykładowych danych. Ustaw nazwę klasy i opcje w panelu konfiguracji.

2

Sprawdź wygenerowane klasy

Prawy panel pokazuje wygenerowane klasy Dart. Zagnieżdżone obiekty stają się osobnymi klasami. Tablice stają się List<T>. Jeśli Twój JSON ma nieprawidłową składnię, napraw ją najpierw używając Formatera JSON lub Walidatora JSON.

3

Kopiuj lub pobierz

Użyj Kopiuj lub Pobierz, aby uzyskać kod. Wklej go do swojego projektu Flutter lub Dart.

Przykłady JSON do Dart

Oto przykład generowania klas Dart z obiektu JSON.

Przykład: Rekord subskrybenta

Wejście JSON:

Wejście

Wygenerowane wyjście Dart:

Wyjście

Kiedy JSON do Dart jest pomocny

Większość programistów potrzebuje tego przy integracji z REST API. Wklejenie tutaj daje typowane klasy do natychmiastowego użycia z json.decode.

Jeśli najpierw musisz połączyć dwa pliki JSON, użyj oddzielnego narzędzia JSON Merge.

Eksporty baz danych, pliki konfiguracyjne lub odpowiedzi API są często w JSON. Przetworzenie ich tutaj pomaga wygenerować klasy Dart dla Twojej aplikacji.

Często zadawane pytania

JsonSerializable czy ręczny fromJson?

JsonSerializable generuje fromJson i toJson podczas budowania. Redukuje kod boilerplate. Wymaga json_serializable i build_runner w projekcie.

Co z null safety?

Włącz typy Nullable dla opcjonalnych pól JSON. Dodaje ? do typów, które mogą być null.

Czy moje dane są gdzieś wysyłane?

Nie. Generowanie działa w całości w Twojej przeglądarce. Żadne dane nie są wysyłane na żaden serwer.

Czy mogę używać z Flutter?

Tak. Wygenerowane klasy działają z pakietem http Fluttera i dart:convert. Dodaj json_serializable dla automatycznej serializacji.

Co jeśli klucze JSON używają snake_case?

Dart typowo używa camelCase. Użyj @JsonKey(name: 'json_key') na polu dla niestandardowych nazw kluczy JSON.

Powiązane narzędzia

Dla JSON w Dart, zobacz dart:convert. Dla JSON, zobacz specyfikację JSON. Dla Flutter, zobacz Flutter.