Rust

Serde y serialización

serde traits, derive macros, JSON/YAML/TOML, (de)serialización personalizada, lifetimes con Cow, rendimiento

20 preguntas de entrevista·
Mid-Level
1

¿Cuál es el rol principal de la crate serde en Rust?

Respuesta

Serde es un framework de serialización y deserialización genérico para Rust. Su nombre proviene de "SERialize DEserialize". Permite convertir estructuras de datos Rust hacia y desde diferentes formatos de datos (JSON, YAML, TOML, etc.) de manera eficiente y type-safe. Serde utiliza el sistema de traits de Rust para proporcionar una abstracción sin coste en runtime.

2

¿Cuál es la sintaxis correcta para habilitar la serialización automática en una struct con serde?

Respuesta

El atributo #[derive(Serialize, Deserialize)] genera automáticamente las implementaciones de los traits Serialize y Deserialize para una struct. Esta macro procedural analiza la estructura de los campos y genera el código necesario en tiempo de compilación. Es necesario importar los traits desde serde con use serde::{Serialize, Deserialize}.

3

¿Qué función utilizar para convertir una struct Rust en una cadena JSON con serde_json?

Respuesta

La función serde_json::to_string() convierte un valor que implementa Serialize en una cadena JSON. Retorna un Result<String, Error> porque la serialización puede fallar en ciertos casos. Para una salida formateada con indentación, usa serde_json::to_string_pretty(). Para escribir directamente en un Writer, usa serde_json::to_writer().

4

¿Cómo deserializar una cadena JSON hacia una struct Rust con serde_json?

5

¿Qué atributo de serde utilizar para renombrar un campo durante la serialización?

+17 preguntas de entrevista

Domina Rust para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis