问题标签 [serde-json]

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 投票
1 回答
308 浏览

json - serder_json heserialize map,值为 Number 或 boolean 或 String

我一直在尝试反序列化包含一个对象的 JSON,该对象的值只能是字符串、布尔值或数字。

这是我使用的代码:

如果您想尝试,这是我进行的测试

但显然这不能正常工作,我无法反序列化OtherValue.

你知道我该怎么做吗?

如果您想尝试这里是一个游乐场https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=67b43cfd4d12efc6641f5b7fba02889a

0 投票
1 回答
3589 浏览

rust - Rust 使用 Reqwest 处理错误响应体

我在我的 Rust 应用程序中为 HTTP 调用使用reqwest(version 0.10.4) crate,但找不到任何关于如何处理可能返回多个可能响应主体的 API 调用的示例,主要用于错误处理。

例如,一个 API 调用可以响应一个成功的 JSON 结构,或者一个格式的错误结构:

目前我有这个函数的代码,但似乎无法弄清楚如何struct根据 HTTP 请求是否成功来确定我需要将响应缓冲区反序列化为哪个。

我是否遗漏了文档中的某些内容,reqwest或者这是一个常见问题?

0 投票
1 回答
762 浏览

rust - 如何使用 Serde 的 SeqDeserializer 将序列反序列化为自定义类型?

我正在尝试为不复杂但没有自然 JSON 表示的类型编写自定义序列化器和反序列化器。

具有数组键的 HashMap 不能表示为 JSON 映射(必须具有字符串键)。所以我想将它序列化为一对序列。序列的序列化的文档非常清楚,并且以下工作:

这序列化为例如[[1,2,3,4,5], 1, [5,4,3,2,1], 2]序列反序列化的文档并不容易理解,我无法在访问者和如何从SeqDeserializer. 我不确定我是否打算传递一些东西,或者得到一个返回值,或者其他东西。

如何使用数组键将其反序列化回映射?

0 投票
1 回答
1880 浏览

redis - 使用 serde_json 解析 JSON 字符串

如何解析以下类型的JSON有效负载?Stringserde_json

0 投票
0 回答
43 浏览

rust - 如何使用 serde_json 从对象数组中反序列化单个字段?

我有 JSON,其中一个键有一个对象数组,我只对其中的一个字符串感兴趣:

我有

我怎样才能把它弄平,这样我就可以拥有Vec<String>而不是Vec<Name>?例如我想结束

0 投票
1 回答
367 浏览

rust - 如何让 Serde 结构同时处理借用和拥有的数据?

serde_json::from_str我想制作一个能够从借来的数据( )或拥有的数据( )反序列化的 Serde 结构serde_json::from_reader。我已经阅读了理解反序列化器生命周期,并且理解了两个特征界限(<'de, T> where T: Deserialize<'de><T> where T: DeserializeOwned)之间的区别;我想要的是一个实现两个特征边界的结构,以便可以从任一反序列化函数中使用它。

以下代码(playground)拒绝编译:

如何使该结构同时使用自有数据和借用数据?有没有办法做类似的事情#[serde(borrow_optional)]

0 投票
0 回答
112 浏览

json - 锈 | 板条箱:Serde Json | 如何为特定字段制作自定义解析器?

所以我偶然发现了一个问题,我不需要解析纯值,而是在该值上运行一个函数并将处理后的值从它返回到该字段中,我想我想将它包含在 Serde JSON 解析器本身中,我猜?困惑的表情符号

我正在尝试解析 Reddit Award 而不是icon_url,我希望它已经在解析过程中下载图像(图像的字节)并具有该值而不是 URL。目前它会为我简化很多事情。如果我可以输入一些不同的字段名称来与之交互,那也会很酷。我在谷歌上搜索了很多,但我找不到任何关于它的东西,所以我基本上不知道该怎么做。

如果我能做这样的事情会很酷

原来的:

我想象的:

有任何想法吗?我认为这甚至是不可能的,但我找不到其他人愿意在互联网上做这样的事情,所以:/

如果不可能,我想我可以创建两个结构,一个icon_url和第二个,image: Bytes然后处理它,但这只是非常丑陋,笨拙等等......

0 投票
1 回答
306 浏览

dictionary - 如何重命名 serde_json::Map 中的所有键?

假设我有一个&mut std::collections::HashMap,我想把所有的键都变成大写。以下代码可以解决问题:

不幸的是,我没有 a HashMapbut a &mut serde_json::Map,我想把所有的键都变成大写。没有.drain()方法。我可以.into_iter()改用,但这只会给我对键和值的可变引用。要再次将它们插入地图,我必须克隆它们,这会损害性能。

这里有什么方法可以解决该.drain()方法的缺失吗?

0 投票
0 回答
173 浏览

rust - 有没有办法在运行时指定要进行 serde 的字段名称?

我正在尝试使用serde反序列化 JSON 结构,但是某些字段名称在不同的环境中可能会有所不同。例如:

在开发中:

在产品中:

由于名称不会随时间而改变,我将它们存储在外部配置中,可以在运行时轻松检索到应用程序中,但我想避免将它们硬编码到我为处理反序列化而构建的结构中(例如在这个问题中)并且我无法找到一种方法来获取从我的配置中检索到的字段名称以用于反序列化。

我在寻找解决方案时发现的所有其他结果都没有解决我遇到的具体问题。

有没有办法在运行时指定字段的名称,还是我必须手动为其实现反序列化器并以这种方式使用配置馈送的字段名称?

0 投票
1 回答
298 浏览

json - 如何修改 serde_json::Value::String 中的字符串?

我有一个serde_json::Value包含我想修改的字符串,如果可能的话不克隆字符串。我想你会这样做:

但是没有这样的东西as_mut_string。我可以这样做:

但是,这既是丑陋的代码又是低效的,因为我必须克隆字符串。有更好的解决方案吗?