Мне было интересно, можно ли декодировать объект JSON в Rust, который имеет имя атрибута, которое также является ключевым словом Rust. Я работаю с rustc-сериализация обрешеткой и мое определение структуры выглядит следующим образом:Как декодировать объект JSON с именем атрибута ключевого слова Rust?
#[derive(RustcDecodable)]
struct MyObj {
type: String
}
Компилятор выдает ошибку, поскольку типа является ключевым словом. Точное сообщение об ошибке компилятора:
error: expected identifier, found keyword `type`
src/mysrc.rs:23 type: String,
^~~~
Извините за вопрос новобранец, я только что начал опробовать ржавчину.
Безопасно предположить, что исходные данные не могут быть изменены, чтобы избежать конфликта? – Shepmaster
Да, было бы лучше, если бы мне не пришлось менять исходные данные. Я думаю, возможно, создание нового поля структуры с другим именем и создание пользовательского 'impl Decodable' является единственным способом? – rking788
Я могу увидеть, как это было реализовано вручную, или с помощью 'Json :: from_str', а затем высунуло его значение результата. – Shepmaster