Add the #[serde(default)] attribute to your struct to ignore unknown fields during deserialization, or use #[serde(deny_unknown_fields)] to explicitly reject them. By default, Serde ignores unknown fields unless deny_unknown_fields is set.
use serde::Deserialize;
#[derive(Deserialize)]
#[serde(default)]
struct Config {
name: String,
// Unknown fields in JSON will be ignored
}
Alternatively, to fail on unknown fields:
use serde::Deserialize;
#[derive(Deserialize)]
#[serde(deny_unknown_fields)]
struct Config {
name: String,
}