
Serde & Serialisasi
trait serde, derive macro, JSON/YAML/TOML, (de)serialisasi kustom, lifetime dengan Cow, performa
1Apa peran utama crate serde di Rust?
Apa peran utama crate serde di Rust?
Jawaban
Serde adalah framework serialisasi dan deserialisasi generik untuk Rust. Namanya berasal dari "SERialize DEserialize". Serde memungkinkan konversi struktur data Rust ke dan dari berbagai format data (JSON, YAML, TOML, dll.) secara efisien dan type-safe. Serde menggunakan sistem trait Rust untuk menyediakan abstraksi tanpa biaya runtime.
2Apa sintaks yang benar untuk mengaktifkan serialisasi otomatis pada sebuah struct dengan serde?
Apa sintaks yang benar untuk mengaktifkan serialisasi otomatis pada sebuah struct dengan serde?
Jawaban
Atribut #[derive(Serialize, Deserialize)] secara otomatis menghasilkan implementasi trait Serialize dan Deserialize untuk sebuah struct. Macro prosedural ini menganalisis struktur field dan menghasilkan kode yang diperlukan saat kompilasi. Anda perlu mengimpor trait dari serde dengan use serde::{Serialize, Deserialize}.
3Fungsi mana yang harus digunakan untuk mengonversi struct Rust menjadi string JSON dengan serde_json?
Fungsi mana yang harus digunakan untuk mengonversi struct Rust menjadi string JSON dengan serde_json?
Jawaban
Fungsi serde_json::to_string() mengonversi nilai yang mengimplementasikan Serialize menjadi string JSON. Fungsi ini mengembalikan Result<String, Error> karena serialisasi dapat gagal dalam kasus tertentu. Untuk output yang diformat dengan indentasi, gunakan serde_json::to_string_pretty(). Untuk menulis langsung ke Writer, gunakan serde_json::to_writer().
Bagaimana cara mendeserialisasi string JSON menjadi struct Rust dengan serde_json?
Atribut serde mana yang harus digunakan untuk mengganti nama field selama serialisasi?
+17 pertanyaan wawancara
Topik wawancara Rust lainnya
Dasar-Dasar Rust
Ownership & Borrowing
Structs & Enums
Penanganan Error
Collections
Module & Package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Unsafe Rust
Trait Lanjutan
Lifetime Lanjutan
Type System
Tokio & Async I/O
Optimasi Performa
Memory Management
Web Frameworks
Database Integration
Design Pattern Rust
Kuasai Rust untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis