在使用serde_json读取json文档时,我编写了以下代码行,以获得对返回值serde_json::from_str
进行解包的结果:
fn get_json_content(content_s: &str) -> Option<Value> {
let ms: String = serde_json::from_str(content_s).unwrap; // <--
match serde_json::from_str(content_s) {
Ok(some_value) => Some(some_value),
Err(_) => None
}
}
如您所见,我在呼叫unwrap
的最后忘记了()
,这导致了以下错误:
错误:试图获取方法的值
let ms: String = serde_json::from_str(content_s).unwrap;
但当我进一步观察这一点时,让我感到奇怪的是:
core::result::Result<_, serde_json::error::Error>
我理解下划线在匹配上下文中的含义,但要实例化泛型?那么这意味着什么呢?我在铁 rust 书、参考资料或网络搜索中找不到任何答案.