- struct
- Palabra clave en Rust para definir tipos de datos compuestos. Esta herramienta genera structs, ej., pub struct User { id: i64, name: String }. Los campos son públicos por defecto (sin visibilidad son privados; serde derive requiere públicos).
- Serde
- El framework de serialización/deserialización más popular en el ecosistema Rust. El código generado por esta herramienta funciona con Serde vía #[derive(Serialize, Deserialize)], utilizable con serde_json, bincode, toml, postcard y otros formatos.
- derive macro
- Macro procedimental de Rust que implementa traits automáticamente para tipos. #[derive(Serialize, Deserialize)] generado por esta herramienta implementa automáticamente los traits de serialización y deserialización de Serde sin escribir bloques impl manualmente.
- Vec<T>
- Tipo de array dinámico en la biblioteca estándar Rust. Esta herramienta mapea automáticamente arrays JSON a Vec<T>, ej., arrays de cadenas se mapean a Vec<String>. Vec posee memoria asignada en el montículo, con lifetime gestionado automáticamente por el compilador Rust.
- Option<T>
- Tipo de valor opcional en la biblioteca estándar Rust indicando que un valor puede no existir. Esta herramienta mapea JSON null a Option<serde_json::Value>; también puedes cambiar manualmente a tipos más precisos como Option<String>, consumidos vía .unwrap() o coincidencia de patrones.
- Cargo
- Sistema de construcción y gestor de paquetes oficial de Rust. Al usar código generado por esta herramienta, necesitas declarar dependencias serde y serde_json en Cargo.toml y ejecutar cargo build/cargo run para compilar y ejecutar.
- serde_json
- Crate del framework Serde específicamente para procesamiento JSON. El uso típico es serde_json::from_str::<User>(&json_string) o serde_json::from_reader(reader) para convertir cadenas/fluxos de bytes JSON a structs Rust generados; es la dependencia subyacente para manejo JSON Actix-web/axum.
- Serialize
- Trait de serialización de Serde indicando que un tipo puede codificarse a formatos como JSON. Esta herramienta auto-genera implementaciones vía derive, utilizables para serde_json::to_string(&user) para convertir valores Rust de vuelta a cadenas JSON.
- Deserialize
- Trait de deserialización de Serde indicando que un tipo puede decodificarse desde formatos como JSON. Esta herramienta auto-genera implementaciones vía derive, usadas con serde_json::from_str; es el núcleo de deserialización de cuerpo de petición HTTP, archivos de configuración y payload de colas de mensajes.
- Propiedad (Ownership)
- Concepto central de gestión de memoria de Rust. Tipos como String y Vec<T> generados por esta herramienta poseen sus respectivos datos; después de deserialización, los lifetimes son gestionados automáticamente por el compilador Rust sin liberación manual, sin GC, sin sobrecarga en tiempo de ejecución.
- #[serde(rename = "...")]
- Atributo de renombrado de campo de Serde. Cuando nombres de campo JSON (como user_name) no coinciden con estilo de nomenclatura Rust, esta anotación le dice a Serde que coincida por nombre JSON original durante deserialización. Comúnmente usado para proyectos Rust camelCase que interactúan con APIs backend snake_case.
- #[serde(default)]
- Atributo de valor por defecto de campo de Serde. Cuando un campo falta en JSON, llama a Default::default() del tipo. Comúnmente usado para compatibilidad hacia atrás con campos recién añadidos en iteraciones de versión, evitando fallos de deserialización para JSON antiguo.
- quicktype-core
- Biblioteca de inferencia de tipos multi-lenguaje y generación de código usada internamente por esta herramienta, originalmente implementada en TypeScript, compilada a WebAssembly y ejecutándose en el navegador vía Web Worker, soportando 20+ lenguajes objetivo incluyendo Rust/TypeScript/Go/Python.
- Web Worker
- Mecanismo de hilo en segundo plano proporcionado por el navegador que permite a JavaScript ejecutar cálculos costosos en un hilo independiente sin bloquear el hilo principal. Esta herramienta usa Web Worker para cargar quicktype-core WASM, evitando congelación de página durante conversiones JSON grandes.
- WebAssembly (WASM)
- Formato de instrucciones binario que puede generarse desde compilación C/C++/Rust, ejecutable en navegadores a velocidad casi nativa. El motor central de esta herramienta quicktype-core está compilado a WASM y se ejecuta en el navegador.
- chrono
- La biblioteca de fecha/hora más popular en el ecosistema Rust, proporcionando tipos como DateTime<Utc>, NaiveDate; habilitar la feature serde permite análisis automático de cadenas de tiempo ISO 8601 con Serde. Comúnmente usada para reemplazar campos de tiempo String predeterminados generados por esta herramienta.
- no_std
- Un modo de compilación Rust que deshabilita la biblioteca estándar std, usando solo la biblioteca core, adecuado para escenarios con recursos limitados como embebidos, núcleos WebAssembly, sistemas operativos. serde también funciona bajo no_std (con features apropiadas habilitadas).
- tokio
- El runtime asíncrono más popular en el ecosistema Rust, dependido por bibliotecas mainstream como axum, reqwest, tonic. El código generado por esta herramienta se usa a menudo con la macro #[tokio::main] para iniciar el runtime en escenarios asíncronos.