一个#[serde(skip_serializing_if = "Vec::is_empty")]
可以做Vec
,但是切片的等效条件是什么?
答案 0 :(得分:3)
切片类型[T]
也具有is_empty
方法。这是您的称呼方式:
use serde::Serialize;
#[derive(Serialize)]
struct S<'a> {
#[serde(skip_serializing_if = "<[_]>::is_empty")]
slice: &'a [String]
}
fn main() {
let s = S { slice: &[] };
println!("{}", serde_json::to_string(&s).unwrap());
}