macro_rules! json_value {
($($json:tt)+) => { ... };
}Expand description
Construct a serde_json::Value from a JSON literal.
let value = json!({
"code": 200,
"success": true,
"payload": {
"features": [
"serde",
"json"
],
"homepage": null
}
});Variables or expressions can be interpolated into the JSON literal. Any type
interpolated into an array element or object value must implement Serde’s
Serialize trait, while any type interpolated into an object key must
implement Into<String>. If the Serialize implementation of the
interpolated type decides to fail, or if the interpolated type contains a
map with non-string keys, the json! macro will panic.
let code = 200;
let features = vec!["serde", "json"];
let value = json!({
"code": code,
"success": code == 200,
"payload": {
features[0]: features[1]
}
});Trailing commas are allowed inside both arrays and objects.
let value = json!([
"notice",
"the",
"trailing",
"comma -->",
]);