Entrada JSON

Salida Rust

¿Qué es JSON a Rust?

Rust usa structs para datos estructurados. Al consumir JSON con Serde, necesitas definiciones de struct coincidentes.

Esta herramienta genera structs Rust desde tu JSON. Activa Serde para derives Serialize/Deserialize. Activa Option Types para campos opcionales.

La conversión se ejecuta completamente en tu navegador. Tu JSON nunca se envía a un servidor.

Cuándo ayuda JSON a Rust

Al desarrollar apps Rust que consuman APIs REST, necesitas structs tipados.

Cómo usar esta herramienta

1

Pegar o subir JSON

Copia tu JSON y pégalo en el editor izquierdo. Usa el botón Ejemplo para datos de ejemplo. Configura el nombre del struct y opciones en el panel de configuración.

2

Revisar los structs generados

El panel derecho muestra los structs Rust generados. Si tu JSON tiene sintaxis inválida, corrígelo primero con el Formateador JSON o el Validador JSON.

3

Copiar o descargar

Usa Copiar o Descargar para obtener el código. Añade serde y serde_json a tu Cargo.toml. Pégalo en tu proyecto Rust.

Ejemplos de JSON a Rust

Aquí un ejemplo de generación de structs Rust desde un objeto JSON.

Ejemplo: Registro de suscriptor

Entrada JSON:

Entrada

Salida Rust generada:

Salida

Cuándo ayuda JSON a Rust

La mayoría de desarrolladores necesitan esto al integrar con APIs REST.

Para fusionar dos archivos JSON primero, existe la herramienta Combinar JSON.

Las respuestas de API, archivos de configuración o exportaciones de datos suelen ser JSON.

Preguntas frecuentes

¿Serde o deserialización manual?

Serde es el estándar para JSON en Rust. Genera Serialize y Deserialize mediante macros derive. Añade serde y serde_json a Cargo.toml.

¿Qué pasa con Option para campos null?

Activa Option Types para campos JSON opcionales. Esto envuelve campos nullable en Option<T>.

¿Se envían mis datos a algún sitio?

No. La generación se ejecuta completamente en tu navegador.

¿Puedo usar #[serde(rename)]?

Sí. El generador añade #[serde(rename = "jsonKey")] cuando el nombre del campo Rust (snake_case) difiere de la clave JSON (camelCase).

¿Qué pasa con los objetos anidados?

Los objetos JSON anidados se convierten en structs Rust separados. Los arrays se convierten en Vec<T> de esos tipos.

Herramientas relacionadas

Para JSON en Rust, ver Serde y serde_json. Para JSON, ver la especificación JSON.