Rust

Serde & serialisatie

serde-traits, derive-macro's, JSON/YAML/TOML, aangepaste (de)serialisatie, lifetimes met Cow, prestaties

20 gespreksvragen·
Mid-Level
1

Wat is de hoofdrol van de serde-crate in Rust?

Antwoord

Serde is een generiek serialisatie- en deserialisatieframework voor Rust. De naam komt van "SERialize DEserialize". Het maakt het mogelijk om Rust-datastructuren efficiënt en type-safe naar en van verschillende dataformaten (JSON, YAML, TOML enz.) te converteren. Serde gebruikt het trait-systeem van Rust om een abstractie zonder runtimekosten te bieden.

2

Wat is de juiste syntaxis om automatische serialisatie op een struct met serde in te schakelen?

Antwoord

Het attribuut #[derive(Serialize, Deserialize)] genereert automatisch de implementaties van de traits Serialize en Deserialize voor een struct. Deze procedurele macro analyseert de veldstructuur en genereert de benodigde code tijdens het compileren. Je moet de traits importeren uit serde met use serde::{Serialize, Deserialize}.

3

Welke functie moet worden gebruikt om een Rust-struct met serde_json naar een JSON-string te converteren?

Antwoord

De functie serde_json::to_string() converteert een waarde die Serialize implementeert naar een JSON-string. Ze retourneert een Result<String, Error> omdat serialisatie in bepaalde gevallen kan mislukken. Voor opgemaakte uitvoer met inspringing gebruik je serde_json::to_string_pretty(). Om rechtstreeks naar een Writer te schrijven gebruik je serde_json::to_writer().

4

Hoe deserialiseer je een JSON-string naar een Rust-struct met serde_json?

5

Welk serde-attribuut moet worden gebruikt om een veld tijdens serialisatie te hernoemen?

+17 gespreksvragen

Beheers Rust voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis