首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将枚举序列化为数字,并通过serde-json从数字反序列化?

如何将枚举序列化为数字,并通过serde-json从数字反序列化?
EN

Stack Overflow用户
提问于 2020-09-24 10:06:51
回答 1查看 271关注 0票数 0
代码语言:javascript
复制
struct ResponseData<T> {
    success : bool,
    res_data : T,
}
struct FooRes {
   result:RESULT,
}
num RESULT {
    RESULT_OK = 0,
    RESULT_NG = 1,
}
fn test(){

let s = ResponseData::<FooRes>{
    success : true,
    res_data : FooRes{
        result:RESULT::RESULT_OK,
    },
};
    
let st = serde_json::to_string(&s).unwrap();
println!("json={}",st);

Json={“成功”:true,“resData”:{“结果”:“RESULT_OK”}

在将枚举序列化为number值时,我需要的结果是{"result":0},而不是{"result":"RESULT_OK"},并需要{"success":true,"resData":{"result":0}}来反序列化为enum成员result

代码语言:javascript
复制
struct FooRes {
   result:RESULT,
}

我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2020-09-24 12:38:32

树干,我解决了

https://serde.rs/enum-number.html

正确的#派生(Serialize_repr,Deserialize_repr,PartialEq,Debug)不派生(调试,序列化,反序列化)

关于Enum,tnx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64044183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档