How does serde_json work?
Hi guys,
I was using serde_json to implement some stuff, however I was wondering how it worked internally. For example, in here
#[derive(Serialize, Deserialize)]
struct Person {
name: String,
age: u8,
phones: Vec<String>,
}
fn typed_example() -> Result<()> {
let data = r#"
{
"name": "John Doe",
"age": 43,
"phones": [
"+44 1234567",
"+44 2345678"
]
}"#;
let p: Person = serde_json::from_str(data)?;
Ok(())
}
how does serde_json know what values to put in the struct automatically? I looked on github but I am still a noob so I have no clue where to look.