Add option to disallow unknown fields

This commit is contained in:
Jack Lee
2023-02-21 02:02:04 -05:00
parent 7fa4b32dd0
commit e717b9c6db
3 changed files with 32 additions and 5 deletions

View File

@ -370,10 +370,10 @@ func (d *Decoder) unmarshal(val reflect.Value, tagType byte) error {
if err != nil {
return fmt.Errorf("fail to decode tag %q: %w", tn, err)
}
} else {
if err := d.rawRead(tt); err != nil {
return err
}
} else if d.disallowUnknownFields {
return fmt.Errorf("unknown field %q", tn)
} else if err := d.rawRead(tt); err != nil {
return err
}
}
case reflect.Map: