gpt4 book ai didi

rust - 有没有一种方法可以在Rust中使用avro-rs序列化JSON值?

转载 作者:行者123 更新时间:2023-12-03 11:39:27 25 4
gpt4 key购买 nike

我想使用avro-rs序列化JSON值。我似乎找不到解决办法。要进行复制,您可以执行以下操作:

  • 通过运行cargo new example
  • 创建一个新项目
  • 使用以下依赖项更新Cargo.toml:

  • [package]
    name = "rust-example"
    version = "0.1.0"
    edition = "2018"

    [dependencies]
    serde_json = "1.0.52"
    avro-rs = "0.10.0"
  • 使用以下命令更新scr/main.rs:

  • use avro_rs::{Schema, Writer};
    use serde_json::json;

    fn main() {
    let raw_schema = r#"
    {
    "type": "record",
    "name": "action",
    "fields": [
    {"name": "id", "type": "string"}
    ]
    }
    "#;

    let schema = Schema::parse_str(raw_schema).unwrap();

    let mut writer = Writer::new(&schema, Vec::new());

    let action = json!({
    "id": "some id"
    });

    writer.append(action).unwrap(); // panics: ValidationError("value does not match schema")
    }
  • 最后运行cargo run以查看输出。
  • 最佳答案

    您可以尝试avrow crate 。它具有from_json API:Record类型上的https://docs.rs/avrow/0.2.0/avrow/struct.Record.html#method.from_json
    检查存储库中的json example

    关于rust - 有没有一种方法可以在Rust中使用avro-rs序列化JSON值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62758143/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com