【发布时间】:2020-09-24 10:06:51
【问题描述】:
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={"success":true,"resData":{"result":"RESULT_OK"}}
在将枚举序列化为数值时,我需要结果为{"result":0},而不是{"result":"RESULT_OK"},
和{"success":true,"resData":{"result":0}} 反序列化为枚举成员result。
struct FooRes {
result:RESULT,
}
我该怎么做?
【问题讨论】:
-
欢迎来到 Stack Overflow。请花一些额外的时间来确保您的问题包含minimal reproducible example,并且问题清晰且呈现良好(How to Ask)。该代码格式不正确,甚至无法编译。
-
Enum representations 上的 serde 主页可能会让您了解如何在 serde 中使用枚举类型。