Function rocket::serde::json::to_value

source ·
pub fn to_value<T>(item: T) -> Result<Value, Error>
where T: Serialize,
Available on crate feature json only.
Expand description

Convert a T into a Value, an opaque value representing JSON data.


use rocket::serde::{Deserialize, Serialize, json};

#[derive(Deserialize, Serialize)]
#[serde(crate = "rocket::serde")]
struct Data {
    framework: String ,
    stars: usize,

let value = json::json!({
    "framework": "Rocket",
    "stars": 5

let data: Data = json::from_value(value.clone()).unwrap();
let data_value = json::to_value(data).unwrap();
assert_eq!(value, data_value);


This conversion fails if T’s implementation of Serialize decides to fail or if T contains a map with non-string keys.