Enum serde_json_wasm::de::Error
source · #[non_exhaustive]pub enum Error {
Show 22 variants
ControlCharacterInString,
EofWhileParsingList,
EofWhileParsingObject,
EofWhileParsingString,
EofWhileParsingValue,
ExpectedColon,
ExpectedHighSurrogate,
ExpectedListCommaOrEnd,
ExpectedLowSurrogate,
ExpectedObjectCommaOrEnd,
ExpectedSomeIdent,
ExpectedSomeValue,
InvalidEscape,
InvalidNumber,
InvalidType,
InvalidUnicodeCodePoint,
KeyMustBeAString,
LoneSurrogateFound,
TrailingCharacters,
TrailingComma,
RecursionLimitExceeded,
Custom(String),
}
Expand description
This type represents all possible errors that can occur when deserializing JSON data
It implements [std::error::Error
] trait so long as either std
or
unstable
features are enabled. std
is enabled by default and disabling
it makes the crate no_std
. unstable
makes it necessary to build code
with nightly compiler.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ControlCharacterInString
Control character (U+0000 to U+001F) found in string. Those must always be escaped.
EofWhileParsingList
EOF while parsing a list.
EofWhileParsingObject
EOF while parsing an object.
EofWhileParsingString
EOF while parsing a string.
EofWhileParsingValue
EOF while parsing a JSON value.
ExpectedColon
Expected this character to be a ':'
.
ExpectedHighSurrogate
Expected a high surrogate (D800–DBFF) but found something else
ExpectedListCommaOrEnd
Expected this character to be either a ','
or a ']'
.
ExpectedLowSurrogate
Expected a low surrogate (DC00–DFFF) but found something else
ExpectedObjectCommaOrEnd
Expected this character to be either a ','
or a '}'
.
ExpectedSomeIdent
Expected to parse either a true
, false
, or a null
.
ExpectedSomeValue
Expected this character to start a JSON value.
InvalidEscape
Invalid escape sequence
InvalidNumber
Invalid number.
InvalidType
Invalid type
InvalidUnicodeCodePoint
Invalid unicode code point.
KeyMustBeAString
Object key is not a string.
LoneSurrogateFound
Found a lone surrogate, which can exist in JSON but cannot be encoded to UTF-8
TrailingCharacters
JSON has non-whitespace trailing characters after the value.
TrailingComma
JSON has a comma after the last value in an array or map.
RecursionLimitExceeded
JSON is nested too deeply, exceeded the recursion limit.
Custom(String)
Custom error message from serde
Trait Implementations§
source§impl Error for Error
impl Error for Error
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl Error for Error
impl Error for Error
source§fn custom<T: Display>(msg: T) -> Self
fn custom<T: Display>(msg: T) -> Self
source§fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize
receives a type different from what it was
expecting. Read moresource§fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize
receives a value of the right type but that
is wrong for some other reason. Read moresource§fn invalid_length(len: usize, exp: &dyn Expected) -> Self
fn invalid_length(len: usize, exp: &dyn Expected) -> Self
source§fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
Deserialize
enum type received a variant with an
unrecognized name.source§fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
Deserialize
struct type received a field with an
unrecognized name.source§fn missing_field(field: &'static str) -> Self
fn missing_field(field: &'static str) -> Self
Deserialize
struct type expected to receive a required
field with a particular name but that field was not present in the
input.source§fn duplicate_field(field: &'static str) -> Self
fn duplicate_field(field: &'static str) -> Self
Deserialize
struct type received more than one of the
same field.