我有两个结构:
#[derive(Serialize)]
struct Post {
title: String,
// ...more fields...,
comments: Vec<Comment>,
}
#[derive(Serialize)]
struct Comment {
body: String,
// ...more fields...,
}
我想生成 2 种 JSON 文件:
- a 的 JSON 索引
Vec<Post>
应包括除comments
. - 一个
Post
包含所有字段的 JSON。
Serialize
是否可以使用派生属性来实现这一点?我skip_serializing_if
在 Serde 的文档中找到了属性,但据我所知,它对我没有用,因为我想跳过不是基于字段的值,而是基于我正在生成的 JSON 文件。
现在我正在使用json!
需要手动列出所有字段的宏生成索引,Post
但我希望有更好的方法来做到这一点。