当前位置: 首页 > news >正文

解决cannot find attribute `serde` in this scope记录

问题描述:

在Rust中使用serde做json序列化,需要对一个字段指定序列化方法,添加serde注解后报错:

error: cannot find attribute `serde` in this scope
  --> src\models\order_model.rs:38:7
   |
38 |     #[serde(deserialize_with = "crate::utils::date_utils::deserialize_datetime_str")]
   |       ^^^^^
   |
   = note: `serde` is in scope, but it is a crate, not an attribute
 

报错代码:

pub struct QueryParam {pub id: Option<i32>,pub account_id: Option<i32>,pub job_id: Option<i32>,#[serde(deserialize_with = "crate::utils::date_utils::deserialize_datetime_str")]pub begin: Option<DateTimeWithTimeZone>,#[serde(deserialize_with = "crate::utils::date_utils::deserialize_datetime_str")]pub end: Option<DateTimeWithTimeZone>,
}

解决方法:

为当前stract添加#[derive(Deserialize, Serialize)]注解解决

修改后代码:

use serde::{Serialize, Deserialize};#[derive(Deserialize, Serialize, Clone, Debug)]
pub struct QueryParam {pub id: Option<i32>,pub account_id: Option<i32>,pub job_id: Option<i32>,#[serde(deserialize_with = "crate::utils::date_utils::deserialize_datetime_str")]pub begin: Option<DateTimeWithTimeZone>,#[serde(deserialize_with = "crate::utils::date_utils::deserialize_datetime_str")]pub end: Option<DateTimeWithTimeZone>,
}

原因分析:

根据报错信息很容易以为是导入缺失,其实是忘了添加derive注解,serde属性注解被直接丢给了编译器处理而没经过derive宏处理

相关文章:

  • 远程访问服务器的Jupyter Notebook
  • 生成随机验证码-解析与优化
  • 代码随想录算法训练营第一天:数组part1
  • 第六章 QT基础:6、QT的Qt 时钟编程
  • 协作开发攻略:Git全面使用指南 — 第三部分 特殊应用场景
  • JW01三合一传感器详解(STM32)
  • 深度剖析操作系统核心(第一节):从X86/ARM/MIPS处理器架构到虚拟内存、分段分页、Linux内存管理,再揭秘进程线程限制与优化秘籍,助你成为OS高手!
  • Ubuntu 一站式部署 RabbitMQ 4 并“彻底”迁移数据目录的终极实践
  • 【回眸】Aurix TC397 IST 以太网 UDP 相关开发
  • 观成科技:摩诃草组织Spyder下载器流量特征分析
  • SpringCloud——负载均衡
  • Mediamtx与FFmpeg远程与本地推拉流使用
  • 信息系统项目管理工程师备考计算类真题讲解七
  • 【晶振】晶振的工作原理及其与单片机关系
  • 【C语言】C语言中的联合体与枚举类型
  • 网站高可用架构设计基础——高可用策略和架构原则
  • 关于nginx,负载均衡是什么?它能给我们的业务带来什么?怎么去配置它?
  • Spring Boot + MyBatis-Plus 的现代开发模式
  • uniapp跨平台开发---switchTab:fail page `/undefined` is not found
  • HTML邮件背景图兼容 Outlook
  • 牛市早报|商务部:目前中美之间未进行任何经贸谈判
  • 体坛联播|卡马文加预计伤缺三个月,阿尔卡拉斯因伤退赛
  • 云南富源回应“岔河水库死鱼”事件: 初步研判与水体缺氧有关
  • “两高”司法解释:升档为境外非法提供商业秘密罪的量刑标准
  • 广东省发展改革委原副主任、省能源局原局长吴道闻被开除公职
  • 商务部新闻发言人:截至目前,中美之间未进行任何经贸谈判