JsonPart

Struct JsonPart 

Source
pub struct JsonPart {
    pub level: u32,
    pub group: Option<u32>,
    pub parse_object_values: bool,
    pub ignore_list_entries: bool,
}
Expand description

A filter for PartialJson to determine which items to deserialize.

Fields§

§level: u32§group: Option<u32>§parse_object_values: bool§ignore_list_entries: bool

Implementations§

Source§

impl JsonPart

Source

pub fn level(level: u32) -> Self

The level determines at which depth to deserialize data:

  • 0 - the full JSON is parsed as a single value once done is called.
  • 1 - all entries inside of the root group are deserialized individually.
  • 2 - only entries inside of a group found directly within the root.
  • 3 - …

A group is an object or a list, both will increase the depth, but entries may be parsed from either or both.

Source

pub fn group(self, index: u32) -> Self

Deserialize only entries found within the group with the given index.

To deserialize only entries inside of the first list found within the root object:

JsonPart::level(2).group(0);
Source

pub fn parse_object_values(self) -> Self

Parse object values as if they were list entries, ignoring the keys.

This influences the index counted by JsonPart::group, now also counting objects.

JsonPart::level(2).parse_object_values();
Source

pub fn ignore_list_entries(self) -> Self

Do not parse list entries and use JsonPart::parse_object_values instead.

This influences the index counted by JsonPart::group, now only counting objects.

JsonPart::level(2).ignore_list_entries();

Trait Implementations§

Source§

impl Clone for JsonPart

Source§

fn clone(&self) -> JsonPart

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for JsonPart

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for JsonPart

Source§

fn eq(&self, other: &JsonPart) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for JsonPart

Source§

impl Eq for JsonPart

Source§

impl StructuralPartialEq for JsonPart

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.