Expand description
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§
- Enclosing
- Brackets and Braces to keep track of.
- Parser
Status - The state that the parser is in.
- Status
- The Status that each Handler method returns.
Traits§
- Handler
- Implement this trait to handle parse events.