1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! A low-level JSON parser with full spec support and a simple API.
pub use ;
/// Parses a JSON string into a [JsonElement], or returns a [ParseError].
///
/// ```
/// use json_parse::{parse, JsonElement::*};
///
/// let json = "[1, true, null]";
/// let parsed = parse(json).unwrap();
///
/// assert_eq!(parsed, Array(
/// vec![Number(1.0), Boolean(true), Null]
/// ));
/// ```
///
/// ```
/// use json_parse::{parse, ParseError};
/// let bad_json = r#"
/// {
/// "one": 1,
/// 2: "two"
/// }
/// "#;
/// let error = parse(bad_json).unwrap_err();
///
/// assert_eq!(error, ParseError{
/// line: 4,
/// column: 8,
/// msg: "Expected string, found number (2)".into()
/// });
/// ```