Crate p_json

Source
Expand description

§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());
}

Enums§

JsonValue
ParseError

Functions§

parse
stringify