我的一个朋友正在尝试使用serde_json
crate 反序列化 WebSocket 发送的一些消息。
我们遇到了一个特定的错误,我们设法使用以下代码片段重新创建它:
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Debug)]
struct EffetSer {
test: String
}
fn main() {
let test_value = JsValue::from_str("{\"test\": \"value\"}");
let test_value: EffetSer = test_value.into_serde().unwrap();
log::error!("WOW : {:?}", test_value);
}
我们的 TOML 有以下依赖:
wasm-bindgen = { version = '0.2.63', features = ['serde-serialize'] }
serde = { version = '1.0', features = ["derive"] }
serde_json = '1.0.55'
js-sys = '0.3.40'
错误如下:
app.js:310 panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: string \"{\\\"test\\\": \\\"value\\\"}\", expected struct EffetSer", line: 1, column: 23)'
任何帮助将不胜感激,因为我们仍在努力理解我们做错了什么以及为什么我们不能反序列化我们的String
.