Use exemplos variados
A raiz deve ser um objeto ou array não vazio de objetos. Um array na raiz gera o modelo do elemento Root; use [Root].self na decodificação. Arrays internos também combinam todos os elementos.
Geração de tipos
Compare os registros e veja quais propriedades precisam ser opcionais.
A análise e a geração ocorrem neste navegador. A entrada não é enviada nem armazenada.
O array raiz define o elemento Root; decodifique [Root].self.
2 structs · 2 propriedades opcionais
JSON para Swift ajuda a esboçar modelos com dados da sua API. Inclua respostas em que alguma chave não aparece: um objeto completo sozinho não revela todas as variações possíveis.
Este conversor JSON para Swift produz um struct Swift com CodingKeys e campos opcionais. A inferência descreve as amostras; requisitos de negócio e mudanças futuras ainda precisam ser definidos no projeto.
JSON para Swift reúne os objetos na mesma posição de um array. Chaves ausentes e valores null tornam a propriedade opcional, enquanto valores sempre presentes conservam um tipo específico.
Por padrão, horários continuam como strings. A opção ISO conecta somente datas completas válidas a Date e ao decodificador correspondente; as outras strings não mudam de tipo.
A raiz deve ser um objeto ou array não vazio de objetos. Um array na raiz gera o modelo do elemento Root; use [Root].self na decodificação. Arrays internos também combinam todos os elementos.
Mantenha CodingKeys para snake_case e chaves especiais. Escolha camelCase ou preservar nomes válidos. A inferência ISO exige fuso horário e até três casas de fração de segundo.
A geração automática aguarda 350 ms após editar. Desligue para usar o botão ou Ctrl/Cmd+Enter. Alterações bloqueiam exportações antigas imediatamente. Exemplo e Limpar mostram contagem de caracteres; aplicar guarda uma etapa de desfazer.
JSON para Swift emite propriedades var e structs Codable. Objetos filhos não vazios recebem estruturas auxiliares; objetos vazios viram dicionários; dados mistos usam um enum JSONValue recursivo próprio, sem Any.
Grupos escritos como inteiros dentro de 64 bits com sinal usam Int64. Decimais, expoentes, inteiros maiores e grupos que os contenham usam Foundation.Decimal. Não há conversão intermediária para JavaScript Number.
O modo observado marca ausência e null; o modo global permite omitir todas as propriedades. Codable sintetizado lê ambos como nil e normalmente omite a propriedade na codificação. Os dois casos deixam de ser distinguíveis pelo valor.
makeJSONDecoder() mantém a estratégia padrão de chaves. Quando há Date, tenta ISO8601DateFormatter com e sem fração de segundo. Para gravar texto ISO novamente, configure a estratégia de datas do JSONEncoder separadamente.
Sim. JSON para Swift cria estruturas auxiliares para objetos não vazios e combina todos os elementos dos arrays. Na raiz, um array gera o modelo do elemento para [Root].self. Objetos vazios e dados mistos recebem tipos Codable mais amplos.
Sim. A entrada aceita até 500.000 caracteres e 50.000 nós. Há também limites de profundidade 40, 100 campos por objeto combinado e 200 estruturas. Os números seguem um orçamento próprio de precisão; erros não são corrigidos silenciosamente.
Sim. Em telas estreitas, entrada e saída ficam empilhadas. É possível ajustar opções, copiar ou baixar a versão atual do código. O navegador do celular não compila Swift; faça essa etapa no projeto de destino.
Ausência em outra amostra e null produzem propriedades opcionais por padrão. A síntese Codable lê ambos como nil e costuma omiti-los ao codificar. Para distinguir ausência, null e valor, escreva uma implementação personalizada.
O nome é ajustado com camelCase ou preservação dos identificadores válidos. Símbolos, palavras reservadas e colisões recebem nomes seguros com CodingKeys para a chave original. Sem mapeamento, entradas que exigem renomear geram erro.
Encontrou uma inferência que precisa melhorar?
Use JSON para Swift com campos ausentes, null e números reais. Depois compile e decodifique o arquivo baixado no sistema em que seu app será executado.