[][src]Struct oxidized_json_checker::JsonChecker

pub struct JsonChecker<R> { /* fields omitted */ }

The JsonChecker is a io::Read adapter, it can be used like a pipe, reading bytes, checkings those and output the same bytes.

If an error is encountered, a JSON syntax error or an io::Error it is returned by the io::Read::read method.

Safety

An error encountered while reading bytes will invalidate the checker.

Example: read from a slice

use std::io;
use oxidized_json_checker::JsonChecker;

let text = r#"{"I am": "an object"}"#;
let bytes = text.as_bytes();

let mut checker = JsonChecker::new(bytes);
io::copy(&mut checker, &mut io::sink())?;
checker.finish()?;

Implementations

impl<R> JsonChecker<R>[src]

pub fn new(reader: R) -> JsonChecker<R>[src]

Construct a JsonChecker. To continue the process, write to the JsonCheckerlike a sink, and then callJsonChecker::finish` to obtain the final result.

pub fn with_max_depth(reader: R, max_depth: usize) -> JsonChecker<R>[src]

Construct a JsonChecker and restrict the level of maximum nesting.

For more information read the JsonChecker::new documentation.

pub fn finish(self) -> Result<JsonType, Error>[src]

The JsonChecker::finish method must be called after all of the characters have been processed.

This function consumes the JsonChecker and returns Ok(JsonType) if the JSON text was accepted and the JSON type guessed.

pub fn into_inner(self) -> Result<(R, JsonType), Error>[src]

The JsonChecker::into_inner does the same as the JsonChecker::finish method but returns the internal reader along with the JSON type guessed.

Trait Implementations

impl<R> Debug for JsonChecker<R>[src]

impl<R: Read> Read for JsonChecker<R>[src]

Auto Trait Implementations

impl<R> RefUnwindSafe for JsonChecker<R> where
    R: RefUnwindSafe

impl<R> Send for JsonChecker<R> where
    R: Send

impl<R> Sync for JsonChecker<R> where
    R: Sync

impl<R> Unpin for JsonChecker<R> where
    R: Unpin

impl<R> UnwindSafe for JsonChecker<R> where
    R: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.