rust - Rust 将 JSON 中表示为字符串的数字反序列化为结构
问题描述
我是新手,在将 json 字符串反序列化为结构时遇到了麻烦。我想要的是反序列化以下 json 字符串,
{
"ratelimit_limit": "10",
"ratelimit_remaining": "0",
"ratelimit_reset": "30s"
}
进入以下结构。
#[derive(Deserialize, Debug, Clone)]
#[serde(default)]
struct FilterConfig {
ratelimit_limit: u16,
ratelimit_remaining: u16,
#[serde(with = "serde_humanize_rs")]
ratelimit_reset: Duration,
}
当我尝试将字符串反序列化为 u16 时,问题就来了。我认为问题在于从 serde 中删除的隐式转换。https://github.com/serde-rs/json/issues/317
该问题中提到的解决方案并未提供干净的解决方案。它使用自定义反序列化器来反序列化 u16 字段。有没有更简单直接的解决方案?这应该是一个非常常见的用例。
解决方案
推荐阅读
- ember.js - Ember 车把 如何对车把文件进行 Ajax 或 jquery 调用?
- c# - 没有属性名称的 Http get 和 post 方法
- javascript - 使用 Javascript 的下拉列表
- php - 我想在我的克隆元素显示后重新加载/刷新页面
- python - 我将 rasterio 捆绑到可执行文件中的方式有问题
- git - 在 git 中使用 mergeequests 和 releasenotes 时经常发生冲突
- jquery - 在 IBM MobileFirst Platform 上获取位置时出错
- lisp - Lisp 中用于 minimax-alpha-beta 的 REVERSE 函数
- css - 跨项目共享css和ts
- uwp - UWP XAML Prism 未正确绑定数据