无法将json反序列化为rust中的结构

无法将json反序列化为rust中的结构,rust,Rust,我正在尝试将字符串反序列化为rust中的结构。以下代码仅来自json\u serde文档 use serde::{Deserialize, Serialize}; use serde_json::Result; #[derive(Serialize, Deserialize)] struct Person { name: String, age: u8, phones: Vec<String>, } fn main() { let data = r

我正在尝试将字符串反序列化为rust中的结构。以下代码仅来自
json\u serde
文档

use serde::{Deserialize, Serialize};
use serde_json::Result;

#[derive(Serialize, Deserialize)]
struct Person {
    name: String,
    age: u8,
    phones: Vec<String>,
}

fn main() {
    let data = r#"
        {
            "name": "John Doe",
            "age": 43,
            "phones": [
                "+44 1234567",
                "+44 2345678"
            ]
        }"#;

    // Parse the string of data into a Person object. This is exactly the
    // same function as the one that produced serde_json::Value above, but
    // now we are asking it for a Person as output.
    let p: Person = serde_json::from_str(data).expect("bal");

    // Do things just like with any other Rust data structure.
    println!("Please call {} at the number {}", p.name, p.phones[0]);


}

尽管从
serde
导入序列化和反序列化并添加到struct。这给了我一个错误。
我哪里做错了?

您需要在
货物中激活派生宏功能。toml

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

您需要在
Cargo.toml
中激活派生宏功能:

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