我想知道是否可以在Rust中解码一个JSON对象,它的属性名称也是一个Rust关键字。我正在使用rustc-serialize
crate,我的结构体定义如下所示:
# [derive(RustcDecodable)]
struct MyObj {
type: String
}
编译器会掷回错误,因为type
是保留字:
error: expected identifier, found keyword `type`
src/mysrc.rs:23 type: String,
^~~~
2条答案
按热度按时间nfeuvbwi1#
您可以使用
serde
机箱。它支持对字段since February 2015进行重命名您的示例可能如下所示:
tf7tbtn22#
这可以通过使用raw identifiers来完成,而不需要
serde
的字段重命名。通过在标识符前面添加r#
,可以使用关键字名称。使用
rustc-serialize
使用
serde
请注意,不建议使用
rustc-serialize
,而建议使用serde
。