§Examples
§Parsing
use p_json::{JsonValue, parse};
use indexmap::{IndexMap, indexmap};
fn main() {
let text = r#"{"id":123,"name":"Alice","active":true}"#;
let json = parse(text).unwrap();
assert_eq!(json, JsonValue::Object(indexmap!{
"id".to_string() => JsonValue::Number(123.0),
"name".to_string() => JsonValue::String("Alice".to_string()),
"active".to_string() => JsonValue::Bool(true),
}));
}
§Stringification
use p_json::{JsonValue, stringify};
use indexmap::{IndexMap, indexmap};
fn main() {
let mut json = JsonValue::Object(indexmap!{
"id".to_string() => JsonValue::Number(123.0),
"name".to_string() => JsonValue::String("Alice".to_string()),
"active".to_string() => JsonValue::Bool(true),
});
let text = stringify(&json);
assert_eq!(text, r#"{"id":123,"name":"Alice","active":true}"#);
}
§Validation
fn main() {
let valid = r#"{"key": "value"}"#;
let invalid = r#"{"key": "value""#;
assert!(p_json::parse(valid).is_ok());
assert!(p_json::parse(invalid).is_err());
}