66得票2回答
使用serde生成漂亮的(缩进的)JSON

使用serde_json crate,我可以使用::serde_json::to_string(&obj) 将一个对象序列化为JSON字符串。生成的JSON采用紧凑的格式,例如:{"foo":1,"bar":2} 但是我该如何生成漂亮/缩进的JSON呢?例如,我想要得到这样的结果:{ ...

52得票1回答
如何使用Serde反序列化具有自定义函数的可选字段?

我希望使用自定义函数序列化和反序列化chrono::NaiveDate,但是Serde书籍没有涵盖该功能,代码文档也没有帮助。#[macro_use] extern crate serde_derive; extern crate serde; extern crate serde_json;...

49得票1回答
如何使用Serde在反序列化期间转换字段?

我正在使用 Serde 对一个包含十六进制值 0x400 的 XML 文件进行反序列化,我需要将它转换为值为 1024 的 u32 类型。 我是否需要实现 Visitor 特性来分离 0x 并将 400 从 16 进制转换为 10 进制?如果是这样,我该如何做到在此过程中保留对于 10 进制...

41得票1回答
在 Serde 中如何对 Arc<T> 进行序列化或反序列化?

我有一个包含其自身类型的子元素的结构体。这些子元素被封装在Arc中,当我调用serde_json::to_string时会遇到问题。我的结构体是:#[derive(Serialize, Deserialize)] pub struct Category { pub id: i32, ...

41得票4回答
如何使用Serde将具有结构体键的HashMap序列化为JSON?

我想将一个以结构体为键的 HashMap 进行序列化:use serde::{Deserialize, Serialize}; // 1.0.68 use std::collections::HashMap; fn main() { #[derive(Serialize, Deser...

40得票1回答
如何使用Serde反序列化JSON的顶层数组?

我有一些从web服务返回的JSON数据。JSON是一个顶级数组:[ { "data": "value1" }, { "data": "value2" }, { "data": "value3" } ...

35得票1回答
为什么一个明显已经实现了该trait的类型没有实现它?

我正在尝试使用 Diesel 来查询 MySQL 数据库,并使用带有 Rocket 的 Handlebars 模板显示结果。 我在 models.rs 中有这个代码:#[derive(Queryable, Serialize)] pub struct Post { pub id: i...

32得票3回答
如何使用Serde反序列化一个包含null值的JSON文件?

我想使用Serde从github上Bowserinator的库反序列化元素周期表的JSON文件。为此,我创建了一个拥有所有必要字段的结构并派生了所需的宏:#[derive(Serialize, Deserialize, Debug, Clone)] pub struct Element { ...

28得票3回答
当枚举值不匹配时,我该如何反序列化枚举?

我有一个JSON结构,看起来像这样:{ "type": "suite", "event": "started", "test_count": 1 } 我想要将数据反序列化为这些结构体:#[derive(Debug, Deserialize)] enum ResultType { Sui...

28得票2回答
当函数返回一个serde Deserialize类型时,如何解决生命周期错误?

我使用serde和serde_json 1.0来解码从base64字符串中获取的数据: fn from_base64_str&lt;T: Deserialize&gt;(string: &amp;str) -&gt; T { let slice = decode_config(str...