问题标签 [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.

0 投票
0 回答
26 浏览

rust - 尝试创建一个返回反序列化值的通用函数

我试图概括这个功能:

我建立:

它失败了:

0 投票
1 回答
2008 浏览

rust - 使用 Serde 从套接字反序列化以换行符分隔的 JSON

我正在尝试使用 serde 将 JSON 结构从客户端发送到服务器。从客户端到服务器的换行符标志着套接字已完成。我的服务器看起来像这样

在读取字符串之前,我如何知道要分配的缓冲区长度?如果我的缓冲区太大,serde 无法对其进行反序列化,并显示错误,指出存在无效字符。有一个更好的方法吗?

0 投票
1 回答
1696 浏览

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 中做到这一点?我使用serdeas对其进行了测试

我需要一种方法来创建键、值对并进行转换。这样做的方法是什么?

0 投票
2 回答
1036 浏览

json - 如何按属性将 JSON 对象数组整理成包含每个对象属性向量的结构?

我正在接收一个传感器数据流,我需要汇总和执行基本统计数据(平均值、最大值、最小值等)。有多个值,但传感器数据可能不一致,并且某些值可能会丢失。

从阅读本书来看,似乎Option应该在luminosityor的值color缺失时使用它,但我对此感到困惑。

这是我的传感器数据的示例:

每个传感器的数据将存储在以下结构的实例中:

我想遍历上面的 JSON 对象,将传感器与正确的结构实例匹配(“正确”传感器与“正确”传感器结构)并将每个 JSON 观察的内容推送到向量上(在每个结构实例内)。

需要记录缺失值,以便对于每个“观察”,对于相应传感器的结构实例的结构中的每个向量都有一个推送操作。

0 投票
1 回答
974 浏览

json - 使用serde将键和值列表反序列化为JSON的结构?

我有这样的 JSON:

我想反序列化成这样的结构:

有没有办法用 serde 做到这一点?理想情况下,我想要类似的东西:

0 投票
1 回答
358 浏览

rust - 如何使用 toml-rs 和 serde_derive 反序列化两种不同的结构和文件格式?

我正在使用 toml-rs 和 serde_derive 反序列化我的应用程序用来描述数据结构的 TOML 文件。

我使用我的第一个数据结构进行了所有工作,该数据结构对应于一个 TOML 文件定义,其中包含必填字段和可选字段。

现在我想用它来反序列化另一个 TOML 文件中描述的具有不同字段的另一个数据结构。

如何向反序列化器(我正在使用toml::from_str(&contents))指定要反序列化的结构类型?

相关问题 - 是否可以将类型放入文件本身,以便反序列化可以更通用,并且反序列化器可以检测到从文件本身反序列化的类型?

0 投票
2 回答
1291 浏览

rust - 使用 config-rs 将 TOML 字符串反序列化为枚举

我正在使用 config-rs 从 TOML 文件加载配置,并且我想将字符串反序列化为枚举。我尝试使用deserialize_withserde_derive 的功能来解决它​​,但我不知道如何返回合适的错误来满足函数签名。我怎样才能实现它?

我的依赖:

用于反序列化 enum 的示例代码RotationPolicyType

deserialize_with编译错误:

deserialize_with2的编译错误:

0 投票
1 回答
731 浏览

json - 如何对 JSON 对象进行与键无关的反序列化?

我正在使用一个不太理想的 API,它不遵循任何严格的数据发送标准。每个有效负载在 JSON 之前都带有一些有效负载信息,然后是内部的实际数据,其中可以是单个字符串或多个字段。

就目前而言,如果我要将每个不同的有效负载映射到一个结构,我最终会得到大约 50 个结构。我觉得这并不理想,因为除了键之外,这些结构中的大量重叠。例如,我相信有 6 种不同版本的有效载荷可以映射到以下内容,但它们都有不同的键。

我有这两个 JSON 示例:

我想将两者序列化到这个结构中:

两个字符串也可以这样说,甚至三个字符串也可以这样说。有效载荷在小方面是令人沮丧的独特,所以我目前的解决方案是在反序列化它们的函数内本地定义结构,然后将数据传递到需要去的任何地方(在我的情况下是缓存和事件处理程序)

有没有更好的方法来表示这个没有太多重复?我已经尝试寻找与密钥无关的反序列化之类的东西,但我还没有找到任何东西。

0 投票
1 回答
1919 浏览

rust - 可以选择跳过使用 Serde 序列化字段?

我有两个结构:

我想生成 2 种 JSON 文件:

  1. a 的 JSON 索引Vec<Post>应包括除comments.
  2. 一个Post包含所有字段的 JSON。

Serialize是否可以使用派生属性来实现这一点?我skip_serializing_if在 Serde 的文档中找到了属性,但据我所知,它对我没有用,因为我想跳过不是基于字段的值,而是基于我正在生成的 JSON 文件。

现在我正在使用json!需要手动列出所有字段的宏生成索引,Post但我希望有更好的方法来做到这一点。

0 投票
2 回答
2526 浏览

json - 如何编写 Serde 访问者将字符串数组转换为 Vec>?

我需要将 JSON 反序列化为具有Vec<Vec<f64>>字段的结构。JSON 具有数字字符串,因此我需要一个自定义反序列化器f64在反序列化期间将字符串转换为。

我想反序列化的示例 JSON:

我的结构是这样的:

我在 Serde 的示例中看到您可能可以对访问者执行此操作,因此我实现了此访问者:

操场

编译器抱怨visit_strvisit_string有一个不兼容的特征类型:

我想我对访问者的工作方式没有正确的理解。我可以只有一个访问者来反序列化字符串数组,还是需要一个访问者来反序列化数组,而需要一个访问者来反序列化字符串f64

我读了: