Handle rendering json arrays and objects
This commit is contained in:
@@ -79,8 +79,13 @@ impl Renderable for serde_json::Value {
|
||||
serde_json::Value::Bool(boolean) => Ok(boolean.to_string()),
|
||||
serde_json::Value::Number(num) => Ok(num.to_string()),
|
||||
serde_json::Value::String(string) => Ok(string.to_string()),
|
||||
serde_json::Value::Array(_arr) => Err(RenderError::CantRender { elem: self }),
|
||||
serde_json::Value::Object(_obj) => Err(RenderError::CantRender { elem: self }),
|
||||
serde_json::Value::Array(arr) => {
|
||||
let rendered: Result<Vec<String>, RenderError> =
|
||||
arr.iter().map(|val| val.render()).collect();
|
||||
let rendered_slice: &[String] = &rendered?;
|
||||
Ok(rendered_slice.join(","))
|
||||
}
|
||||
serde_json::Value::Object(_obj) => Ok("[object Object]".to_owned()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user