Rust:
JSON के साथ काम करना

कैसे करें:

Rust में JSON के साथ काम करने के लिए, सीरियलाइज़ेशन और डीसीरियलाइज़ेशन के लिए serde क्रेट के साथ-साथ serde_json का व्यापक रूप से इस्तेमाल किया जाता है। सबसे पहले, इन्हें अपनी Cargo.toml में शामिल करना सुनिश्चित करें:

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

उदाहरण 1: JSON को एक Rust Struct में डीसीरियलाइज करें

एक Rust struct निर्धारित करें और Deserialize और Serialize के लिए derive मैक्रो का इस्तेमाल करें:

use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
struct User {
    id: u32,
    name: String,
    email: String,
}

fn main() {
    let json_data = r#"
        {
            "id": 1,
            "name": "Jane Doe",
            "email": "[email protected]"
        }
    "#;

    let user: User = serde_json::from_str(json_data).unwrap();

    println!("User ID: {}", user.id);
    println!("User Name: {}", user.name);
    println!("User Email: {}", user.email);
}

आउटपुट:

User ID: 1
User Name: Jane Doe
User Email: [email protected]

उदाहरण 2: एक Rust Struct को JSON में सीरियलाइज़ करें

वही User struct का इस्तेमाल करते हुए:

let user = User {
    id: 1,
    name: "Jane Doe".to_string(),
    email: "[email protected]".to_string(),
};

let json_data = serde_json::to_string(&user).unwrap();

println!("{}", json_data);

आउटपुट:

{"id":1,"name":"Jane Doe","email":"[email protected]"}

ये उदाहरण JSON को Rust संरचनाओं में डीसीरियलाइज़ करने और Rust संरचनाओं को वापस JSON स्ट्रिंग्स में सीरियलाइज़ करने के मूल प्रवाह का प्रदर्शन करते हैं। Serde JSON के साथ काम करने के लिए वैकल्पिक फील्ड्स, जटिल नेस्टिंग, और JSON द्वारा सीधे समर्थित नहीं किये गए प्रकारों सहित, एक समृद्ध टूलसेट प्रदान करता है।