问题标签 [serde]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - 尝试创建一个返回反序列化值的通用函数
我试图概括这个功能:
我建立:
它失败了:
rust - 使用 Serde 从套接字反序列化以换行符分隔的 JSON
我正在尝试使用 serde 将 JSON 结构从客户端发送到服务器。从客户端到服务器的换行符标志着套接字已完成。我的服务器看起来像这样
在读取字符串之前,我如何知道要分配的缓冲区长度?如果我的缓冲区太大,serde 无法对其进行反序列化,并显示错误,指出存在无效字符。有一个更好的方法吗?
json - 如何将元组向量转换为 JSON 对象?
我正在rocket.rs 中创建一个REST API,并有一个函数返回一个元组向量,我需要将其返回到Web 前端。向量的形式为[(1, "abc"), (2, "mno"), (3, "xyz")]
。
我需要以 JSON 列表形式发送出去[{"score": 1, "text": "abc"}, {"score": 2, "text": "mno"}, {"score": 3, "text": "xyz"}]
。
我如何在 Rust 中做到这一点?我使用serde
as对其进行了测试
我需要一种方法来创建键、值对并进行转换。这样做的方法是什么?
json - 如何按属性将 JSON 对象数组整理成包含每个对象属性向量的结构?
我正在接收一个传感器数据流,我需要汇总和执行基本统计数据(平均值、最大值、最小值等)。有多个值,但传感器数据可能不一致,并且某些值可能会丢失。
从阅读本书来看,似乎Option
应该在luminosity
or的值color
缺失时使用它,但我对此感到困惑。
这是我的传感器数据的示例:
每个传感器的数据将存储在以下结构的实例中:
我想遍历上面的 JSON 对象,将传感器与正确的结构实例匹配(“正确”传感器与“正确”传感器结构)并将每个 JSON 观察的内容推送到向量上(在每个结构实例内)。
需要记录缺失值,以便对于每个“观察”,对于相应传感器的结构实例的结构中的每个向量都有一个推送操作。
json - 使用serde将键和值列表反序列化为JSON的结构?
我有这样的 JSON:
我想反序列化成这样的结构:
有没有办法用 serde 做到这一点?理想情况下,我想要类似的东西:
rust - 如何使用 toml-rs 和 serde_derive 反序列化两种不同的结构和文件格式?
我正在使用 toml-rs 和 serde_derive 反序列化我的应用程序用来描述数据结构的 TOML 文件。
我使用我的第一个数据结构进行了所有工作,该数据结构对应于一个 TOML 文件定义,其中包含必填字段和可选字段。
现在我想用它来反序列化另一个 TOML 文件中描述的具有不同字段的另一个数据结构。
如何向反序列化器(我正在使用toml::from_str(&contents)
)指定要反序列化的结构类型?
相关问题 - 是否可以将类型放入文件本身,以便反序列化可以更通用,并且反序列化器可以检测到从文件本身反序列化的类型?
rust - 使用 config-rs 将 TOML 字符串反序列化为枚举
我正在使用 config-rs 从 TOML 文件加载配置,并且我想将字符串反序列化为枚举。我尝试使用deserialize_with
serde_derive 的功能来解决它,但我不知道如何返回合适的错误来满足函数签名。我怎样才能实现它?
我的依赖:
用于反序列化 enum 的示例代码RotationPolicyType
:
deserialize_with编译错误:
deserialize_with2的编译错误:
json - 如何对 JSON 对象进行与键无关的反序列化?
我正在使用一个不太理想的 API,它不遵循任何严格的数据发送标准。每个有效负载在 JSON 之前都带有一些有效负载信息,然后是内部的实际数据,其中可以是单个字符串或多个字段。
就目前而言,如果我要将每个不同的有效负载映射到一个结构,我最终会得到大约 50 个结构。我觉得这并不理想,因为除了键之外,这些结构中的大量重叠。例如,我相信有 6 种不同版本的有效载荷可以映射到以下内容,但它们都有不同的键。
我有这两个 JSON 示例:
我想将两者序列化到这个结构中:
两个字符串也可以这样说,甚至三个字符串也可以这样说。有效载荷在小方面是令人沮丧的独特,所以我目前的解决方案是在反序列化它们的函数内本地定义结构,然后将数据传递到需要去的任何地方(在我的情况下是缓存和事件处理程序)
有没有更好的方法来表示这个没有太多重复?我已经尝试寻找与密钥无关的反序列化之类的东西,但我还没有找到任何东西。
rust - 可以选择跳过使用 Serde 序列化字段?
我有两个结构:
我想生成 2 种 JSON 文件:
- a 的 JSON 索引
Vec<Post>
应包括除comments
. - 一个
Post
包含所有字段的 JSON。
Serialize
是否可以使用派生属性来实现这一点?我skip_serializing_if
在 Serde 的文档中找到了属性,但据我所知,它对我没有用,因为我想跳过不是基于字段的值,而是基于我正在生成的 JSON 文件。
现在我正在使用json!
需要手动列出所有字段的宏生成索引,Post
但我希望有更好的方法来做到这一点。
json - 如何编写 Serde 访问者将字符串数组转换为 Vec>?
我需要将 JSON 反序列化为具有Vec<Vec<f64>>
字段的结构。JSON 具有数字字符串,因此我需要一个自定义反序列化器f64
在反序列化期间将字符串转换为。
我想反序列化的示例 JSON:
我的结构是这样的:
我在 Serde 的示例中看到您可能可以对访问者执行此操作,因此我实现了此访问者:
编译器抱怨visit_str
并visit_string
有一个不兼容的特征类型:
我想我对访问者的工作方式没有正确的理解。我可以只有一个访问者来反序列化字符串数组,还是需要一个访问者来反序列化数组,而需要一个访问者来反序列化字符串f64
?
我读了: