是否可以使用serde_json反序列化看起来像JSON(但不是)的数据?

时间:2018-12-24 18:44:23

标签: json rust serde

我很难反序列化(使用Rust的serdeserde_json v1.0)以下收到的JSON:

{
    ["string content"]
}

该对象的数组不是由键标识的,因此以下操作无效:

#[derive(Deserialize)]
struct Data {
    key: Vec<String>
}

我也尝试在#[serde(flatten)]字段上使用key,但出现错误:

can only flatten structs and maps (got a sequence)

我收到的数据看起来不像有效的JSON。仍然可以使用serde_json吗?

1 个答案:

答案 0 :(得分:1)

您显示的输入无效的JSON。您将无法使用serde_json对输入进行反序列化,因为serde_json仅接受JSON。

如果您发现数据打算使用哪种格式,请考虑使用(或编写)专用于该特定格式的Rust库。