By spec it seems that json parsing should work like serde(default), i.e. if field is missing and not optional, we should make it default
But, for example in go, this is an option, and you can assert that all fields are provided
Right now we assert that all non optional fields are required
In rust, it's common to use parsing as validation, so it's not clear, should we implement this logic