json.rs

539 B · rust · 19 lines

1use crate::errors::{MrlyError, Result};2use crate::Json;34impl From<serde_json::Error> for MrlyError {5    fn from(error: serde_json::Error) -> MrlyError {6        MrlyError::Value(format!("json: {error}"))7    }8}910/// Parses JSON text into a value, or an error naming where it broke.11///12/// ```13/// let v = mrlycore::json::parse(r#"{"tags": [3, 5]}"#).unwrap();14/// assert_eq!(v["tags"][1], 5);15/// assert!(mrlycore::json::parse("[1,").is_err());16/// ```17pub fn parse(text: &str) -> Result<Json> {18    Ok(serde_json::from_str(text)?)19}