1 2 3 4 5 6 7 8 9 10 11 12 13
use serde::Serialize; use serde_json::Value; pub fn json_join<T, JoinIn>(value: &T, key: &str, join_in: JoinIn) -> Result<Value, String> where T: Serialize, JoinIn: Serialize { let mut arg = serde_json::to_value(value).unwrap(); if !arg.is_object() { return Err("json_join value must be a object!".to_string()); } arg.as_object_mut().unwrap().insert(key.to_string(), serde_json::to_value(join_in).unwrap()); return Result::Ok(arg); }