首页 > 解决方案 > 序列化包含 vec 的结构

问题描述

我有一个包含 vec 的结构

#[derive(Serialize, Deserialize, Debug)]
struct Config {
    customer : Vec<Customer>,
}

我想将它序列化为 XML。我试着用

serde_xml_rs::to_string(&config)

但它返回一个错误。serde_xml_rs 似乎无法序列化 vec。

有没有好的 XML 序列化程序箱?

标签: xmlserializationrust

解决方案


我不确定这是否完全回答了你的问题。
以结构为例:

 use serde::{Serialize, Deserialize};

 #[derive(Serialize,Deserialize, Debug)]
     pub struct Restaurant {
        cuisine: String,
        borough: String,
        name: String,
        address: Address
    }

并使用该反序列化器查询数据库并获取餐厅数组

let mut list_data = ArrayVec::<[Restaurant;1024]>::new();

然后可以使用以下内容将此数据对象序列化(到 json):

let ser_data =list.serialize(
       serde_json::value::Serializer
).unwrap();

不过,我不确定要使用哪个 xml 库


推荐阅读