[−][src]Struct oxidized_json_checker::JsonChecker
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 call
JsonChecker::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]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>
1.36.0[src]
fn is_read_vectored(&self) -> bool
[src]
unsafe fn initializer(&self) -> Initializer
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn bytes(self) -> Bytes<Self>
1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
Auto Trait Implementations
impl<R> RefUnwindSafe for JsonChecker<R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
impl<R> Send for JsonChecker<R> where
R: Send,
R: Send,
impl<R> Sync for JsonChecker<R> where
R: Sync,
R: Sync,
impl<R> Unpin for JsonChecker<R> where
R: Unpin,
R: Unpin,
impl<R> UnwindSafe for JsonChecker<R> where
R: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,