Можно сделать #[serde(skip_serializing_if = "Vec::is_empty")]
для Vec
s, но что эквивалентно для срезов?
Как использовать serde skip_serializing_if с пустыми срезами?
comment
Возможный дубликат Как вызвать метод в срезе явно без использования typedef?
- person Stargateur   schedule 16.07.2019
Ответы (1)
Тип среза [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());
}
person
dtolnay
schedule
16.07.2019