#[serde(rename)]
представляется правильным вариантом, но в документации не указано, возможно ли это или как это сделать.Возможно ли выравнивание полей под-объекта при разборе с помощью serde_json?
Этот JSON объект:
{
"name" : "myobject"
"info" :
{
"counter" : "3"
"foo" : "bar"
}
}
Соответствующая плоская Rust структура должна быть:
#[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 –