JSON a struct Codable en Swift
Convierte una muestra JSON en un struct de Swift que se conforme a Codable.
JSON a struct Codable en Swift
Pega una muestra JSON y esta herramienta deduce su forma y genera un struct de Swift que se conforme a Codable, listo para insertar en un proyecto iOS, macOS o Swift del lado del servidor. Los objetos anidados se convierten en sus propios structs anidados, los arrays se convierten en arrays Swift tipados, y un valor que falta a veces o es nulo se convierte en una propiedad opcional con un signo de interrogación, de modo que el modelo generado coincida con lo que la API realmente envía, no solo una muestra afortunada.
Las opciones controlan la forma del código generado. Elige struct o class para la declaración, y let o var para la mutabilidad de propiedades. Al activar CodingKeys, convierte las claves JSON en snake_case como user_name en la convención camelCase de Swift y agrega el enum CodingKeys correspondiente, de modo que la decodificación se alinee con los nombres de campo originales; desactívalo para mantener las claves JSON textualmente. El nivel de acceso determina si el tipo y sus propiedades son public o internal. Los campos de fecha como Date reconocen cadenas ISO-8601 y las tipan como Date en lugar de String, y la indentación te permite hacer coincidir el estilo de tu proyecto con 2 espacios, 4 espacios o tabulaciones.
Un campo que mezcla tipos no relacionados en un array de muestra (un valor que a veces es un número y a veces una cadena) recurre a un pequeño envoltorio AnyCodable que solo se agrega al resultado cuando es realmente necesario, de modo que el struct se compila en lugar de adivinar silenciosamente mal. Las claves que no son identificadores Swift válidos, incluidos emoji o claves que comienzan con un dígito, se desinfectan y se asignan de nuevo a través de CodingKeys automáticamente para que nada se pierda.
Todo se ejecuta localmente en tu navegador a medida que escribes (sin que la muestra JSON se cargue o envíe a un servidor), lo que importa cuando la muestra proviene de una respuesta real de API. Copia el Swift generado, descárgalo como archivo .txt o envíalo de nuevo a la entrada para refinarlo aún más.