#json #serde #serde-json #serialization

owned_json_deserializer

因为显然 serde_json 只能通过引用™反序列化。

1 个稳定版本

1.0.0 2022年7月31日

#1262编码

MIT/Apache

11KB
253

Owned JSON Deserializer

Crates.io Documentation License Dragon Powered

因为显然 serde_json 只能通过引用™反序列化。

用法

use serde::{Deserialize, Deserializer};
use owned_json_deserializer::OwnedJsonDeserializer;

#[derive(Deserialize)]
struct Wave {
    hi: String,
}

fn gimme_a_deserializer(say_hi_to: String) -> impl Deserializer<'static> { 
    OwnedJsonDeserializer::from_string(
        format!(r#"{{ "hi": "{}" }}"#, say_hi_to)
    )
}

fn main() {
    let deserializer = gimme_a_deserializer("mom".to_string());
    let wave = Wave::deserialize(deserializer).unwrap();
    assert_eq!(wave.hi, "mom");
}

许可证

此包可以在以下任一许可证下使用:

由您选择。

除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~355–760KB
~17K SLoC