Rust

Serde e serialização

serde traits, derive macros, JSON/YAML/TOML, (de)serialização personalizada, lifetimes com Cow, performance

20 perguntas de entrevista·
Mid-Level
1

Qual é o papel principal da crate serde em Rust?

Resposta

Serde é um framework de serialização e desserialização genérico para Rust. Seu nome vem de "SERialize DEserialize". Ele permite converter estruturas de dados Rust de e para diferentes formatos de dados (JSON, YAML, TOML, etc.) de forma eficiente e type-safe. Serde usa o sistema de traits do Rust para fornecer uma abstração sem custo em runtime.

2

Qual é a sintaxe correta para habilitar a serialização automática em uma struct com serde?

Resposta

O atributo #[derive(Serialize, Deserialize)] gera automaticamente as implementações dos traits Serialize e Deserialize para uma struct. Essa macro procedural analisa a estrutura dos campos e gera o código necessário em tempo de compilação. É necessário importar os traits do serde com use serde::{Serialize, Deserialize}.

3

Qual função usar para converter uma struct Rust em uma string JSON com serde_json?

Resposta

A função serde_json::to_string() converte um valor que implementa Serialize em uma string JSON. Ela retorna um Result<String, Error> porque a serialização pode falhar em certos casos. Para uma saída formatada com indentação, use serde_json::to_string_pretty(). Para escrever diretamente em um Writer, use serde_json::to_writer().

4

Como desserializar uma string JSON em uma struct Rust com serde_json?

5

Qual atributo do serde usar para renomear um campo durante a serialização?

+17 perguntas de entrevista

Domine Rust para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis