JSON sin tipos con Value en Rust
Cuando la forma es desconocida, Value y la macro json! la manejan dinámicamente.
use serde_json::{json, Value};
fn main() -> Result<(), serde_json::Error> {
let payload = json!({
"lang": "sql",
"tours": ["basics", "joins"],
"steps": 45
});
println!("{}", payload["lang"].as_str().unwrap_or("?"));
println!("{:?}", payload["steps"].as_u64());
println!("{}", payload["missing"].is_null());
let parsed: Value = serde_json::from_str(r#"{"ok":true}"#)?;
println!("{:?}", parsed["ok"].as_bool());
Ok(())
}
Cómo funciona
json!construye unValuecon sintaxis a lo JSON.- Indexar devuelve
Value::Nullen vez de hacer panic. as_stryas_u64intentan una lectura tipada.
Palabras clave y builtins usados aquí
OkResultfnletuse
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 421
- Tokens
- 160
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 96 segundos.
Paso 2 de 3 en Derivar; paso 2 de 11 en Serde y JSON.