I'm testing Serialize/Deserialize with the code below given by Google Bard, but I'm always getting this error:
error: cannot find derive macro `Serialize` in this scope
--> src/main.rs:3:10
|
3 | #[derive(Serialize, Deserialize)]
What's wrong with my code ?
use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Serialize, Deserialize)]
struct Person {
name: String,
age: u8,
}
fn main() {
let person = Person {
name: "John Doe".to_string(),
age: 30,
};
let serialized_person = serde_json::to_string(&person).unwrap();
println!("Serialized person: {}", serialized_person);
let deserialized_person: Person = serde_json::from_str(&serialized_person).unwrap();
println!("Deserialized person: {:?}", deserialized_person);
}
Cargo.toml:
[package]
name = "serialization"
version = "0.1.0"
edition = "2021"
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }