通过serde解析有效的json字符串将导致错误-“;尾随字符“;
我有一个Rust库和Ruby项目。我通过FFi从Ruby调用一个Rust函数 Rust库中有一个函数,用于接收字符串并将其转换为json 红宝石方面:通过serde解析有效的json字符串将导致错误-“;尾随字符“;,json,ruby,rust,serde,Json,Ruby,Rust,Serde,我有一个Rust库和Ruby项目。我通过FFi从Ruby调用一个Rust函数 Rust库中有一个函数,用于接收字符串并将其转换为json 红宝石方面: my_json_raw_str = { network: { server_address: "my_server.com" } } res = send_it_to_rust(my_json_raw_str.to_json) Rust中的函数在解析从Ruby发送给它的json字符串时将引发异常 从Rust
my_json_raw_str = {
network: {
server_address: "my_server.com"
}
}
res = send_it_to_rust(my_json_raw_str.to_json)
Rust中的函数在解析从Ruby发送给它的json字符串时将引发异常
从Rust返回的错误:
Invalid parameters: trailing characters at line 1 column 47\nparams: [{\"network\":{\"server_address\":\"my_server.com\"}}\u0000]
Json是有效的,不是吗
serde
,serde_json
和serde_派生
用于生锈面
如何修复错误以及导致错误的原因
Json是有效的,不是吗
您的JSON无效,因为您的FFI层不正确:如果您查看错误,它清楚地告诉您数据中有一个尾随NUL字节,这意味着在C和Rust之间桥接时,您留下了C字符串的尾随NUL字节。其中的
\u0000
是什么意思?