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
41
42
extern crate regex;

mod getter;
mod path;
mod path_parser;
mod util;
mod value;
mod wild;
mod reader;
mod sub_selector;
mod unescape;
mod number;

use std::io;
pub use value::Value;
pub use getter::Getter;



pub fn get(json: &str, path: &str) -> Value {
    Getter::new_from_utf8(json.as_bytes()).get(path)
}

pub fn parse(json: &str) -> Value {
    let mut getter = Getter::new_from_utf8(json.as_bytes());
    getter.next_value()
}

pub fn get_from_read<R>(r: R, path: &str) -> Value
where
    R: io::Read,
{
    Getter::new_from_read(r).get(path)
}

pub fn parse_from_read<R>(r: R) -> Value 
where
    R: io::Read,
{
    let mut getter = Getter::new_from_read(r);
    getter.next_value()
}