Sări la conținut
Complet local

JSON la struct Swift Codable

Transformați o mostră JSON într-o structură Swift conformă cu Codable.

Intrare
Ieșire

JSON la struct Swift Codable

Lipiți o mostră JSON și acest instrument deduce forma și generează o structură Swift conformă cu Codable, gată de utilizat în proiecte iOS, macOS sau Swift pe partea de server. Obiectele imbricate devin structurile lor proprii imbricate, matricele devin tablouri Swift tipificate, iar o valoare care uneori lipsește sau este nulă devine o proprietate opțională cu un semn de întrebare — astfel modelul generat corespunde cu ceea ce API trimite efectiv, nu doar cu o mostră norocos.

Opțiunile controlează forma codului generat. Alegeți struct sau class pentru declarație, și let sau var pentru mutabilitatea proprietăților. Activarea CodingKeys transformă cheile JSON snake_case, cum ar fi user_name, în convenția camelCase a Swift și adaugă enum CodingKeys corespunzător, astfel încât decodificarea să se alinieze în continuare cu numele de câmp originale; lăsați dezactivat pentru a păstra cheile JSON literale. Nivelul de acces definește dacă tipul și proprietățile sale sunt public sau internal, datele ca Date recunosc șirurile ISO-8601 și le tastează ca Date în loc de String, iar indentarea vă permite să potriviți stilul proiectului cu 2 spații, 4 spații sau tab-uri.

Un câmp care amestecă tipuri neînrudite într-o matrice de mostră — o valoare care este uneori un număr și uneori un șir — se retrage la un mic wrapper AnyCodable care este adăugat la rezultat doar când este cu adevărat necesar, astfel încât structura compilează în continuare în loc să ghicească în tăcere greșit. Cheile care nu sunt identificatori Swift valizi, incluzând emoji sau chei începând cu o cifră, sunt igienizate și mapate din nou prin CodingKeys automat pentru ca nimic să nu se piardă.

Totul se execută local în browserul dvs. pe măsură ce scrieți — nicio mostră JSON nu este niciodată trimisă sau transmisă unui server, ceea ce este important când mostra provine dintr-un răspuns real al API-ului. Copiați Swift-ul generat, descărcați-l ca fișier .txt, sau trimiteți-l înapoi la intrare pentru a o rafina în continuare.

FAQ

Cum sunt gestionate obiectele JSON imbricate?
Fiecare obiect imbricat devine propria sa structură Swift, numită după cheia sub care a apărut, și referențiată din structura părinte după tip.
Ce se întâmplă cu un câmp care este uneori nul sau lipsit?
Este generat ca o proprietate opțională cu un semn de întrebare la urmă, deci decodificarea nu se blochează niciodată pe un răspuns real care o omite.
Ce face opțiunea CodingKeys?
Când este activat, o cheie JSON snake_case cum ar fi created_at devine proprietatea createdAt, iar o enum CodingKeys o mapează înapoi pentru decodificare. Când este dezactivat, numele proprietății corespunde cheii JSON cât mai aproape cu putință de regulile identificatorului Swift.
Poate genera o clasă în loc de o structură?
Da. Opțiunea Declarație schimbă fiecare tip generat între struct și class, menținând aceeași conformitate Codable.
JSON-ul meu este încărcat undeva?
Nu. Structura este generată în întregime în browserul dvs. — mostra JSON nu părăsește niciodată dispozitivul dvs.