JSON a Rust

Convierte JSON a structs de Rust online. Structs listos para serde con #[derive(Serialize, Deserialize)], Option<T> para campos nullables y renombrado automático a camelCase.

El código generado aparecerá aquí…

Todo se ejecuta localmente en tu navegador. Tu JSON nunca se sube ni se almacena.

¿Qué es un conversor de JSON a Rust?

Un conversor de JSON a Rust transforma una muestra JSON sin procesar en structs de Rust anotados con serde. Pega una carga de API y obtén tipos que puedes añadir directamente a un proyecto de Rust junto a serde_json. Todo se ejecuta en tu navegador.

Cómo generar structs de Rust desde JSON

Pega tu JSON y los structs aparecerán en vivo. Pulsa Copiar y añádelos a tu proyecto: los derive de serde y serde_json necesarios ya están incluidos en el código.

Mapeo de tipos

Los enteros se mapean a i64, los decimales a f64, los arrays a Vec<T> y los objetos con claves que no son identificadores a HashMap<String, T>. Los valores de forma desconocida o mixta se convierten en serde_json::Value, así que nada se rompe en tiempo de ejecución.

Nomenclatura y atributos serde

Los campos se nombran en snake_case según el estilo de Rust. Cuando todas las claves ya son camelCase se emite un único #[serde(rename_all = "camelCase")]; de lo contrario, campos individuales reciben #[serde(rename)]. Los campos opcionales y nulos usan Option<T>.

Preguntas frecuentes

¿Cómo convierto JSON a structs de Rust?+
Pega un objeto o array JSON en el cuadro de entrada. Los structs listos para serde se generan al instante: cada objeto anidado se convierte en su propio pub struct, y todo es copiable con un clic.
¿Cómo se mapean los tipos de JSON a Rust?+
Las cadenas se convierten en String, los enteros en i64, los decimales en f64, los booleanos en bool, los arrays en Vec<T>, los mapas con claves de texto en HashMap<String, T> y las formas desconocidas o mixtas en serde_json::Value. Los objetos anidados se convierten en structs separados nombrados por su clave.
¿Qué hace #[serde(rename_all = "camelCase")]?+
Indica a serde que acepte y emita claves camelCase mientras los campos del struct permanecen en snake_case según la convención de Rust. Cuando solo algunos campos necesitan renombrarse, se usa #[serde(rename = "...")] por campo, y los valores ausentes o nulos se convierten en Option<T>.
¿Se sube mi JSON a un servidor?+
No. Toda la conversión se ejecuta localmente en tu navegador: no se envía, almacena ni registra nada.

Herramientas relacionadas

JSON a Rust — json a rust, json a struct rust, generador de structs serde rust, json a serde, convertir json a rust, rust struct desde json, json a rust online, generar structs rust, serde json struct, modelo json rust online gratis. Sin registro. Funciona en tu navegador.