JSON a Swift
Genera structs o clases Codable de Swift a partir de JSON
Pega JSON o carga un ejemplo para generar código Swift.
Qué genera JSON a Swift
JSON a Swift convierte una respuesta de API o cualquier muestra JSON en tipos de Swift. Los structs obtienen gratis el inicializador por miembros; las clases final reciben un init generado. Cuando el nombre de una propiedad difiere de su clave, por ejemplo user_name → userName, un enum CodingKeys mapea todas las propiedades al JSON. Las palabras reservadas como class se escapan con comillas invertidas y conservan su nombre original.
Cómo usarlo
- 1.Pega JSON, sube o suelta un archivo .json, o carga uno de los ejemplos.
- 2.Define el nombre del tipo raíz y elige el estilo de tipo.
- 3.Elige la conformidad y la política de CodingKeys (cuando los nombres difieren, siempre o nunca).
- 4.Lee las notas bajo la salida y luego copia el código o descarga Models.swift.
Cómo se infieren los tipos
- •Se revisan todos los elementos de cada array, no solo el primero, y los objetos del mismo array se combinan.
- •Una clave que falta en algunos objetos es opcional; una clave que a veces es null es anulable. Ambos casos se distinguen.
- •1 y 2.5 en la misma posición se amplían a número decimal; las demás mezclas se notifican.
- •Los arrays vacíos y los valores que solo son null no aportan información de tipo, así que se usa un tipo genérico y una nota explica el motivo.
- •Correspondencia de tipos: cadena → String, entero → Int (UInt64 o Decimal más allá), decimal → Double, booleano → Bool, array → [T], objeto → tipo anidado, ausente o null → T?, desconocido o mixto → JSONValue (Any sin conformidad).
Límites y privacidad
Una muestra refleja cómo eran los datos en un momento, no el contrato completo de la API. Revisa los campos opcionales, los tipos genéricos y el tamaño de los números antes de confiar en el código. La entrada se limita a 5 MB y 256 niveles de anidación; a partir de 2 MB, la generación espera al botón Generar. Todo se ejecuta en tu navegador y el JSON nunca se sube. Si eliges no escribir nunca CodingKeys, las propiedades renombradas ya no coinciden con sus claves JSON; las notas enumeran cada una.
