DT Dev Tools

Converter JSON para Swift Codable — Gerador de structs

Converta JSON em structs ou classes Swift Codable com CodingKeys, opcionais e tipos aninhados. Pronto para o JSONDecoder — grátis, rápido e privado.

🔒 Executa completamente no seu navegador — nada é enviado

Publicidade

Modelos Swift Codable a partir de JSON

O protocolo Codable do Swift reduz a decodificação de JSON a uma única linha — depois que você tem tipos que correspondem exatamente ao payload. Este conversor de JSON para Swift gera esses tipos a partir de um exemplo. Cada objeto vira uma struct (ou class) em conformidade com Codable, as chaves viram propriedades em camelCase, objetos aninhados viram tipos próprios, arrays viram arrays Swift tipados e valores ausentes ou nulos em parte do exemplo viram opcionais. Enums CodingKeys explícitos mapeiam cada propriedade de volta à chave JSON original, de modo que APIs em snake_case são decodificadas sem nenhuma estratégia personalizada.

O mecanismo por trás é o quicktype, que mescla todos os elementos de cada array antes de inferir os tipos. Um campo que aparece em apenas alguns itens ainda vira uma propriedade opcional, evitando o temido erro de decodificação keyNotFound em tempo de execução.

Structs, classes e auxiliares

As structs são o padrão porque tipos de valor são idiomáticos para modelos no SwiftUI e na maior parte do código moderno de iOS e macOS. Troque para classes quando precisar de semântica de referência ou interoperabilidade com Objective-C. Por padrão, a saída também contém auxiliares de conveniência — inicializadores a partir de dados e strings JSON, os métodos jsonData() e jsonString() e um mutador with(...) — que facilitam o uso dos modelos em testes e previews. Marque Types only se preferir um arquivo mínimo, apenas com as declarações Codable.

Dicas antes de colar no Xcode

Use um exemplo rico, com vários itens no array e campos opcionais preenchidos. Renomeie o tipo raiz de Root para algo significativo, como FeedResponse; o download usará esse nome. Depois, considere transformar campos de string com valores conhecidos em enums, usar Date com uma dateDecodingStrategy correspondente e marcar propriedades como var onde precisar de mutação. Tudo acontece localmente no seu navegador, então respostas de API privadas nunca são enviadas.

Como usar

  1. Cole o JSONCole uma resposta JSON ou carregue o exemplo.
  2. Escolha o estiloSelecione struct ou class, CodingKeys e se quer incluir auxiliares.
  3. Copie para o XcodeCopie o código Swift ou baixe um arquivo .swift para o seu projeto.

Perguntas frequentes

Os tipos gerados são Codable?
Sim. Toda struct ou classe está em conformidade com Codable, então você pode decodificá-la com o JSONDecoder imediatamente.
Para que servem os CodingKeys explícitos?
Eles mapeiam os nomes das propriedades Swift em camelCase para as chaves JSON exatas. Mantenha-os ativados quando as chaves usarem snake_case ou outros nomes que não são identificadores Swift válidos.
Posso gerar classes em vez de structs?
Sim. Mude Types para class se precisar de semântica de referência, por exemplo para Core Data ou interoperabilidade com Objective-C.
Meu JSON é enviado?
Não. Toda a conversão roda no seu navegador; nada é enviado a um servidor.
Publicidade