小编man*_*yel的帖子

如何使用 Serde 用 True/False 反序列化格式错误的 JSON?

如何使用 Rust 的serde反序列化以下格式错误的 JSON :

{
  "value": True
}
Run Code Online (Sandbox Code Playgroud)

使用此答案,我尝试了以下解决方案:

#[macro_use]
extern crate serde_derive; // 1.0.66
extern crate serde; // 1.0.66
extern crate serde_json; // 1.0.21


use serde::de;
use std::fmt;

#[derive(Debug, PartialEq, Deserialize)]
pub struct Foo {
    #[serde(deserialize_with = "deserialize_capitalized_bool")]
    pub bar: bool,
}

fn deserialize_capitalized_bool<'de, D>(
    deserializer: D,
) -> Result<bool, D::Error>
where
    D: de::Deserializer<'de>,
{
    struct CapitalizedBoolVisitor;

    impl<'de> de::Visitor<'de> for CapitalizedBoolVisitor {
        type Value = bool;

        fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { …
Run Code Online (Sandbox Code Playgroud)

json malformed rust serde

5
推荐指数
1
解决办法
557
查看次数

标签 统计

json ×1

malformed ×1

rust ×1

serde ×1