如何在不需要包装类型的情况下反序列化JSON数组? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我想反序列化以下JSON:

[
  {
    "name": "one",
    "path": "/path/to/one"
  },
  {
    "name": "two",
    "path": "/path/to/two"
  },
  {
    "name": "three",
    "path": "/path/to/three"
  }
]

进入Vec<Worskpace>Workspace定义如下:

#[derive(Serialize, Deserialize)]
struct Workspace {
    name: String,
    path: String,
}

有没有办法做到这一点,而不必做以下事情:

#[derive(Serialize, Deserialize)]
struct Workspacesss {
    values: Vec<Workspace>,
}
json rust deserialization serde
1个回答
2
投票

只需直接反序列化向量:

let workspaces = serde_json::from_str::<Vec<Workspace>>(input);
© www.soinside.com 2019 - 2024. All rights reserved.