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。
struct FooRes {
result:RESULT,
}我该怎么做?
发布于 2020-09-24 12:38:32
树干,我解决了
https://serde.rs/enum-number.html
正确的#派生(Serialize_repr,Deserialize_repr,PartialEq,Debug)不派生(调试,序列化,反序列化)
关于Enum,tnx
https://stackoverflow.com/questions/64044183
复制相似问题