如何在Rust的稳定释放上使用serde

Ste*_*eve 3 rust serde

我知道serde是Rust世界中首选的序列化工具.但是,它似乎使用了稳定通道中不存在的功能.这是否意味着我在使用Rust稳定版时不能使用serde?我错过了什么吗?例如:

#![feature(proc_macro)]

#[macro_use]
extern crate serde_derive;

extern crate serde_json;

#[derive(Serialize, Deserialize, Debug)]
struct Point {
    x: i32,
    y: i32,
}
Run Code Online (Sandbox Code Playgroud)

blu*_*uss 5

使用的不稳定功能仅用于#[derive]支持.因此,如果您不需要为新数据类型定义序列化或反序列化,则使用具有稳定Rust的serde很容易.

如果确实需要为新类型定义序列化,可以手动实现特征(这不一定容易),使用稳定的Rust仍然可以实现.

SERDE文档还介绍如何做到这一点.