typestar

Derivar Serialize y Deserialize en Rust

Dos derives y un struct se vuelve JSON en ambas direcciones.

use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
struct Run {
    lang: String,
    tpm: u32,
    accuracy: f64,
}

fn main() -> Result<(), serde_json::Error> {
    let run = Run { lang: "rust".to_string(), tpm: 104, accuracy: 97.5 };
    let json = serde_json::to_string(&run)?;
    println!("{json}");

    let parsed: Run = serde_json::from_str(&json)?;
    println!("{:?}", parsed);
    Ok(())
}

Cómo funciona

  1. Serialize escribe el struct, Deserialize lo lee.
  2. to_string y from_str son las puertas de entrada de serde_json.
  3. Los nombres de campo se vuelven claves JSON salvo que los renombres.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
393
Tokens
116
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 70 segundos.

Escribe este fragmento

Paso 1 de 3 en Derivar; paso 1 de 11 en Serde y JSON.

Siguiente →