#Rust #serde
## 事象
デフォルトでは`null`相当の値が出力される。
## 解決方法
### 普通のやり方
`#[skip_serializing_if = "Option::is_none"]`を指定する。
https://serde.rs/field-attrs.html#skip_serializing_if
このやり方はすべてのFieldに指定が必要なため面倒。
### 楽なやり方
[[serde_with]]の[skip_serializing_none]を使う。
[skip_serializing_none]: https://docs.rs/serde_with/1.4.0/serde_with/attr.skip_serializing_none.html
structにアノテーションをつけるだけ、楽チン。
```rust
use serde_with::skip_serializing_none;
#[skip_serializing_none]
#[derive(Debug, Deserialize, Serialize)]
pub struct Trip {
route_id: RouteId,
trip_headsign: Option<String>,
}
```
ただ、これだとCSVが上手く出力できない。