Trait nanoserde::DeJson

source ·
pub trait DeJson: Sized {
    // Required method
    fn de_json(
        state: &mut DeJsonState,
        input: &mut Chars<'_>
    ) -> Result<Self, DeJsonErr>;

    // Provided method
    fn deserialize_json(input: &str) -> Result<Self, DeJsonErr> { ... }
}
Expand description

A trait for objects that can be deserialized from JSON.

Required Methods§

source

fn de_json( state: &mut DeJsonState, input: &mut Chars<'_> ) -> Result<Self, DeJsonErr>

Parse Self from the input string.

let mut state = DeJsonState::default();
let mut chars = "42".chars();
state.next(&mut chars);
state.next_tok(&mut chars).unwrap();
let out = u32::de_json(&mut state, &mut chars).unwrap();
assert_eq!(out, 42);

Provided Methods§

source

fn deserialize_json(input: &str) -> Result<Self, DeJsonErr>

Parse Self from the input string.

This is a convenient wrapper around de_json.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl DeJson for bool

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<bool, DeJsonErr>

source§

impl DeJson for f32

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<f32, DeJsonErr>

source§

impl DeJson for f64

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<f64, DeJsonErr>

source§

impl DeJson for i8

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<i8, DeJsonErr>

source§

impl DeJson for i16

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<i16, DeJsonErr>

source§

impl DeJson for i32

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<i32, DeJsonErr>

source§

impl DeJson for i64

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<i64, DeJsonErr>

source§

impl DeJson for u8

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<u8, DeJsonErr>

source§

impl DeJson for u16

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<u16, DeJsonErr>

source§

impl DeJson for u32

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<u32, DeJsonErr>

source§

impl DeJson for u64

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<u64, DeJsonErr>

source§

impl DeJson for ()

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<(), DeJsonErr>

source§

impl DeJson for usize

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<usize, DeJsonErr>

source§

impl DeJson for String

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<String, DeJsonErr>

source§

impl<A, B> DeJson for (A, B)
where A: DeJson, B: DeJson,

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<(A, B), DeJsonErr>

source§

impl<A, B, C> DeJson for (A, B, C)
where A: DeJson, B: DeJson, C: DeJson,

source§

fn de_json( s: &mut DeJsonState, i: &mut Chars<'_> ) -> Result<(A, B, C), DeJsonErr>

source§

impl<A, B, C, D> DeJson for (A, B, C, D)
where A: DeJson, B: DeJson, C: DeJson, D: DeJson,

source§

impl<K, V> DeJson for HashMap<K, V>
where K: DeJson + Eq + Hash, V: DeJson,

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<Self, DeJsonErr>

source§

impl<T> DeJson for Option<T>
where T: DeJson,

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<Self, DeJsonErr>

source§

impl<T> DeJson for Box<T>
where T: DeJson,

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<Box<T>, DeJsonErr>

source§

impl<T> DeJson for BTreeSet<T>
where T: DeJson + Ord,

source§

fn de_json( s: &mut DeJsonState, i: &mut Chars<'_> ) -> Result<BTreeSet<T>, DeJsonErr>

source§

impl<T> DeJson for LinkedList<T>
where T: DeJson,

source§

fn de_json( s: &mut DeJsonState, i: &mut Chars<'_> ) -> Result<LinkedList<T>, DeJsonErr>

source§

impl<T> DeJson for Vec<T>
where T: DeJson,

source§

fn de_json(s: &mut DeJsonState, i: &mut Chars<'_>) -> Result<Vec<T>, DeJsonErr>

source§

impl<T> DeJson for HashSet<T>
where T: DeJson + Hash + Eq,

source§

fn de_json( s: &mut DeJsonState, i: &mut Chars<'_> ) -> Result<HashSet<T>, DeJsonErr>

source§

impl<T, const N: usize> DeJson for [T; N]
where T: DeJson,

source§

fn de_json(o: &mut DeJsonState, d: &mut Chars<'_>) -> Result<Self, DeJsonErr>

Implementors§