json-walker 0.1.0

JSON stream parser and deserializer. In this package you decide what part of json must be parsed
Documentation
pub struct StringReader {
    bytes: Vec<u8>,
    pos: usize,
    len: usize,
}

impl StringReader {
    pub fn new(json_text: String) -> Box<Self> {
        let bytes = json_text.into_bytes();
        let len = bytes.len();
        Box::new(StringReader { bytes, pos: 0, len })
    }
}

impl Iterator for StringReader {
    type Item = u8;

    fn next(&mut self) -> Option<Self::Item> {
        if self.pos == self.len {
            None
        } else {
            let r = Some(self.bytes[self.pos]);
            self.pos += 1;
            r
        }
    }
}