将未知JSON序列化和反序列化为二进制

我正在编写一个将json对象作为输入的微服务。这个json对象仅是部分已知的,因此我将其映射到的结构如下:

#[derive(Serialize,Deserialize)]
pub struct Incoming {
    uri: String,payload: serde_json::Value,id: String
}

然后我想将其发布到RabbitMQ队列,以便使用bincode对其进行序列化:

let incoming = serde_json::from_slice::<Incoming>(&incoming).expect("Fail to serialize");
// This line fails:
bincode::serialize(&incoming).expect("Failed to deserialize to binary");

接收服务(使用者)无法反序列化(即使它具有完全相同的模型),并导致Err(DeserializeAnyNotSupported)

据我了解,这来自结构的serde_json::Value部分。 那么,如何将部分未知的JSON对象序列化为二进制以便在接收服务上反序列化呢?

XIAapple_pig 回答:将未知JSON序列化和反序列化为二进制

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2971463.html

大家都在问