Rust

Serde e serializzazione

trait serde, macro derive, JSON/YAML/TOML, (de)serializzazione personalizzata, lifetime con Cow, prestazioni

20 domande da colloquio·
Mid-Level
1

Qual è il ruolo principale della crate serde in Rust?

Risposta

Serde è un framework di serializzazione e deserializzazione generico per Rust. Il suo nome deriva da "SERialize DEserialize". Permette di convertire le strutture dati Rust da e verso vari formati di dati (JSON, YAML, TOML, ecc.) in modo efficiente e type-safe. Serde utilizza il sistema di trait di Rust per fornire un'astrazione a costo zero in runtime.

2

Qual è la sintassi corretta per abilitare la serializzazione automatica su una struct con serde?

Risposta

L'attributo #[derive(Serialize, Deserialize)] genera automaticamente le implementazioni dei trait Serialize e Deserialize per una struct. Questa macro procedurale analizza la struttura dei campi e genera il codice necessario in fase di compilazione. È necessario importare i trait da serde con use serde::{Serialize, Deserialize}.

3

Quale funzione utilizzare per convertire una struct Rust in una stringa JSON con serde_json?

Risposta

La funzione serde_json::to_string() converte un valore che implementa Serialize in una stringa JSON. Restituisce un Result<String, Error> perché la serializzazione può fallire in determinati casi. Per un output formattato con indentazione, usa serde_json::to_string_pretty(). Per scrivere direttamente in un Writer, usa serde_json::to_writer().

4

Come deserializzare una stringa JSON in una struct Rust con serde_json?

5

Quale attributo serde utilizzare per rinominare un campo durante la serializzazione?

+17 domande da colloquio

Padroneggia Rust per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis