2
#[serde(rename)]
が正しい選択肢だと思われますが、可能であれば文書化はできません。serde_jsonで解析中にサブオブジェクトフィールドを平坦化することはできますか?
このJSONオブジェクトは:
{
"name" : "myobject"
"info" :
{
"counter" : "3"
"foo" : "bar"
}
}
対応フラット錆構造体は次のようになります。
#[derive(Deserialize)]
struct Object {
name: String,
#[serde(rename="info.counter")] // wrong syntax here !!
count: i32,
#[serde(rename="info::foo")] // neither this works
foo: String,
}
、ネストされた構造体を有することに何の*パフォーマンス*の欠点はありません。心配するコード構成だけがあります。 – Shepmaster
これはまだできません:https://github.com/serde-rs/serde/issues/119 –