[][src]Crate yajlish

yajlish is a low-level, event-based json parser based (loosely) on yajl. Use

    use yajlish::{Context, Handler, Status};

    pub struct FooCountHandler {
        count: usize,
    }

    impl Handler for FooCountHandler {
         
        fn handle_map_key(&mut self, _ctx: &Context, key: &str) -> Status {
            if key == "foo" {
                self.count += 1;
            }
            Status::Continue
        }
     
        fn handle_null(&mut self, _ctx: &Context) -> Status {
            Status::Continue
        }

        fn handle_bool(&mut self, _ctx: &Context, boolean: bool) -> Status {
            Status::Continue
        }

        fn handle_double(&mut self, _ctx: &Context, val: f64) -> Status {
            Status::Continue
        }
         
        fn handle_int(&mut self, _ctx: &Context, val: i64) -> Status {
            Status::Continue
        }

        fn handle_string(&mut self, _ctx: &Context, val: &str) -> Status {
            Status::Continue
        }

        fn handle_start_map(&mut self, _ctx: &Context) -> Status {
            Status::Continue
        }
         
        fn handle_start_array(&mut self, _ctx: &Context) -> Status {
            Status::Continue
        }

        fn handle_end_map(&mut self, _ctx: &Context) -> Status {
            Status::Continue
        }

        fn handle_end_array(&mut self, _ctx: &Context) -> Status {
            Status::Continue
        }
    }

Modules

ndjson_handler

This Handler implementation converts JSON with an array into new-line delimited JSON.

Structs

Context

The context passed to each Handler function. Context gives basic information about where it is at in the json document.

Parser

Main Parser struct.

Enums

Status

The Status that each Handler method returns.

Traits

Handler

Implement this trait to handle parse events.