Przejdź do treści
100% lokalnie

JSON na strukturę Swift Codable

Przekształć próbkę JSON na strukturę Swift, która spełnia Codable.

Wejście
Wynik

JSON na strukturę Swift Codable

Wklej próbkę JSON, a to narzędzie wyznacza jej strukturę i generuje strukturę Swift, która jest zgodna z Codable, gotową do użycia w projekcie iOS, macOS lub server-side Swift. Zagnieżdżone obiekty stają się własnymi zagnieżdżonymi strukturami, tablice stają się typizowanymi tablicami Swift, a wartość, która czasami brakuje lub jest null, staje się właściwością opcjonalną ze znakiem zapytania — aby wygenerowany model odpowiadał temu, co API faktycznie wysyła, a nie tylko jednej szczęśliwej próbce.

Opcje kontrolują kształt wygenerowanego kodu. Wybierz struct lub class dla deklaracji i let lub var dla mutabilności właściwości. Włączenie CodingKeys konwertuje klucze JSON takie jak user_name z snake_case na camelCase w Swift i dodaje odpowiadający enum CodingKeys, dzięki czemu dekodowanie nadal wyrównuje się z oryginalnymi nazwami pól; wyłącz to, aby zachować klucze JSON bez zmian. Poziom dostępu określa, czy typ i jego właściwości są public czy internal, daty jako Date rozpoznają ciągi ISO-8601 i typizują je jako Date zamiast String, a wcięcie pozwala dostosować się do stylu twojego projektu z 2 spacjami, 4 spacjami lub tabulatorem.

Pole, które miesza niezwiązane typy w tablicy próbki — wartość, która jest czasami liczbą, a czasami ciągiem — powraca do małej otoki AnyCodable, która jest dodawana do wyjścia tylko wtedy, gdy jest faktycznie potrzebna, więc struktura nadal się kompiluje zamiast cicho zgadywać. Klucze, które nie są prawidłowymi identyfikatorami Swift, w tym emoji lub klucze zaczynające się od cyfry, są automatycznie sanityzowane i mapowane z powrotem przez CodingKeys, aby nic się nie straciło.

Wszystko działa lokalnie w twojej przeglądarce, gdy piszesz — próbka JSON nigdy nie jest przesyłana ani wysyłana na serwer, co ma znaczenie, gdy próbka pochodzi z rzeczywistej odpowiedzi API. Skopiuj wygenerowany Swift, pobierz go jako plik .txt lub wyślij z powrotem do wejścia, aby go dalej ulepszyć.

Częste pytania

Jak przetwarzane są zagnieżdżone obiekty JSON?
Każdy zagnieżdżony obiekt staje się własną strukturą Swift, nazwaną po kluczu, pod którym się pojawił, i zawieraną w strukturze nadrzędnej według typu.
Co się dzieje z polem, które czasami brakuje lub jest null?
Jest generowana jako opcjonalna właściwość ze znakiem zapytania, dzięki czemu dekodowanie nigdy nie ulegnie awarii na rzeczywistej odpowiedzi, która ją pomija.
Co dokładnie robi opcja CodingKeys?
Gdy jest włączona, klucz JSON taki jak created_at staje się właściwością createdAt, a enum CodingKeys mapuje go z powrotem do dekodowania. Gdy jest wyłączona, nazwa właściwości odpowiada kluczowi JSON tak blisko, jak pozwalają na to reguły identyfikatora Swift.
Czy może wygenerować klasę zamiast struktury?
Tak. Opcja Deklaracja przełącza wszystkie wygenerowane typy między struct a class, zachowując tę samą zgodność Codable.
Czy mój JSON jest gdzieś przesyłany?
Nie. Struktura jest generowana całkowicie w twojej przeglądarce — twoja próbka JSON nigdy nie opuszcza twojego urządzenia.