从 Rust 中的文件中读取字符串数组

Reading an array of strings from a file in Rust

我有以下 JSON:

[
    "String1",
    "String2",
    "String3"
]

我正在尝试用 serde_json 像这样用 Rust 阅读它:

serde_json::from_str::<Vec<String>>("file_path").unwrap();

但是,我收到以下错误:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("expected value", line: 1, column: 1)'

完整的堆栈跟踪没有给我太多信息。我尝试将其转换为 <String, Vec<String>> 形式的 HashMap 以及使用自定义序列化程序类型,但仍然反复出现相同的错误。有什么想法吗?

serde_json::from_str::<Vec<String>>("file_path").unwrap();
                         //         ^^^^^^^^^^^

如果那是你的密码 as-is。那就不行了。 from_str 期望 &str 其中包含 JSON,而不是文件路径,例如

serde_json::from_str::<Vec<String>>(r#"["String1", "String2"]"#).unwrap();

而是打开文件得到一个 Read 然后使用 serde_json::from_reader.

有关详细信息,请参阅 example in the documentation