我无法使我的struct可编码/可解码:
enum MyEnum {
Enum1,
Enum2,
Enum3,
}
#[derive(RustcDecodable, RustcEncodable)]
pub struct MyStruct {
val1: MyEnum,
val2: i32,
val3 : BTreeMap<i64, Json>,
}
错误是:
the trait `rustc_serialize::serialize::Decodable` is not implemented for the type `rustc_serialize::json::Json`
the trait `rustc_serialize::serialize::Decodable` is not implemented for the type `rustc_serialize::json::MyEnum`
我对我需要实施的内容感到困惑?
而不是RustcEncodable
我需要实施ToJson#to_json
。
但是RustcDecodable
呢?没有特质FromJson#from_json
在文档中说rustc_serialize::Decodable/Encodable
但如果有Decodable
,我需要ToJson#to_json
吗?
无论如何,问题是如何使自己的结构可以编码并可以从JSON解码?