A quick multiple-choice check before you move on. Answer every question, then submit to see how you did.
1.You have a struct field display_name: Option<String> set to None, and the type derives Serialize. With #[serde(skip_serializing_if = "Option::is_none")] on that field, what does serde_json::to_string produce for that field?
2.In Rust, given #[serde(rename_all = "camelCase")] on a struct, how is this naming behavior scoped compared to the equivalent in C#'s System.Text.Json?
3.For a field retries: u32 that may be absent from the input JSON, what does #[serde(default)] do during deserialization when the key is missing?
4.Given let v: serde_json::Value = serde_json::from_str(r#"{"name":"Alice"}"#)?;, what is the result of evaluating v["missing"] (indexing an object with a key that does not exist)?
5.Consider #[serde(tag = "type", rename_all = "camelCase")] on an enum with a variant KeyPress { key: String }. What JSON shape does serializing that variant produce?