pub struct DeserializerConfig { /* private fields */ }Expand description
Configures how query strings and form data are deserialized.
The configuration is independent of the input so it can be created once
(even as a constant) and used for many inputs. The methods
from_str and from_slice work
like the functions of the same name.
use std::collections::BTreeMap;
use deser_urlencoded::{DeserializerConfig, Nesting};
const CONFIG: DeserializerConfig =
DeserializerConfig::builder().nesting(Nesting::Dots).build();
let value: BTreeMap<String, BTreeMap<String, u32>> =
CONFIG.from_str("a.b=1").unwrap();
assert_eq!(value["a"]["b"], 1);Implementations§
Source§impl DeserializerConfig
impl DeserializerConfig
Sourcepub const fn new() -> DeserializerConfig
pub const fn new() -> DeserializerConfig
Creates the default configuration.
Sourcepub const fn builder() -> DeserializerConfigBuilder
pub const fn builder() -> DeserializerConfigBuilder
Returns a builder for the configuration (see DeserializerConfigBuilder).
Sourcepub const fn into_builder(self) -> DeserializerConfigBuilder
pub const fn into_builder(self) -> DeserializerConfigBuilder
Returns a builder that starts with this configuration.
Sourcepub fn set_context(&mut self, context: Context)
pub fn set_context(&mut self, context: Context)
Sets the context the values are deserialized in.
The values of the context are the defaults of the extension values
of the state (see Context), for instance
the variants of open enums. The deserializers and readers created
with the configuration use this context. A context set
on the driver takes precedence.
Sourcepub const fn set_nesting(&mut self, nesting: Nesting)
pub const fn set_nesting(&mut self, nesting: Nesting)
Sets how nested keys are written.
The default is Nesting::Brackets (a[b][0]=1). With
Nesting::Flat keys are taken as they are, see Nesting for
more information.
Sourcepub const fn set_max_depth(&mut self, depth: usize)
pub const fn set_max_depth(&mut self, depth: usize)
Sets how deeply keys can be nested.
This is the number of nested keys after the first one (a[b][c] has
a depth of 2). Keys that are nested deeper are an error. The
default is 16.
Sourcepub const fn set_max_params(&mut self, max: usize)
pub const fn set_max_params(&mut self, max: usize)
Sets the maximum number of parameters.
Inputs with more parameters (key=value pairs) are an error. The
default is 4096.
Sourcepub fn from_str<'de, T: Deserialize<'de>>(
&self,
s: &'de str,
) -> Result<T, Error>
pub fn from_str<'de, T: Deserialize<'de>>( &self, s: &'de str, ) -> Result<T, Error>
Deserializes a value from a query string.
See from_str.
Sourcepub fn from_slice<'de, T: Deserialize<'de>>(
&self,
bytes: &'de [u8],
) -> Result<T, Error>
pub fn from_slice<'de, T: Deserialize<'de>>( &self, bytes: &'de [u8], ) -> Result<T, Error>
Deserializes a value from a query string in a byte slice.
See from_slice.
Source§impl DeserializerConfig
impl DeserializerConfig
Sourcepub fn reader<R: Read>(&self, reader: R) -> Reader<R, StreamDeserializer>
pub fn reader<R: Read>(&self, reader: R) -> Reader<R, StreamDeserializer>
Creates a reader of form data (see
deser::io::Reader).
See StreamDeserializer.
Sourcepub fn from_reader<T: DeserializeOwned, R: Read>(
&self,
reader: R,
) -> Result<T, Error>
pub fn from_reader<T: DeserializeOwned, R: Read>( &self, reader: R, ) -> Result<T, Error>
Deserializes form data from a reader.
See from_reader.