如何在Rocket框架中使用JSON?导入rocket::serde::json报错如何解决?
错误原因
Rocket 0.5版本的serde::json相关功能属于可选特性,默认未被编译进依赖包,因此会抛出找不到json模块的编译错误。
解决方案
- 修改项目根目录下
Cargo.toml中的rocket依赖配置,手动开启json特性:
[package] name = "my-api" version = "0.1.0" edition = "2021" publish = false [dependencies] rocket = { version = "0.5.0-rc.1", features = ["json"] } serde = "1.0.130"
- 保存配置后重新执行
cargo run,即可正常编译运行。
补充说明
Rust生态中多数第三方库都会将非核心功能拆分为可选特性,由开发者按需开启,以此减少不必要的编译耗时和依赖体积。Rocket官方文档的功能示例默认假设使用者已经开启了对应特性,首次使用相关功能时可优先检查依赖的特性配置是否正确。
内容的提问来源于stack exchange,提问作者kalm42
相关产品推荐
相关产品推荐

