当前位置: 首页 > 知识库问答 >
问题:

无法制作Serde Serialize工作的基本示例

权烨磊
2023-03-14

Serde文档说:

所有这些都可以使用开箱即用的Serde进行序列化。

serde_json只是为了举例,一般不需要。

这正是我所需要的,一个结构到一些基本二进制格式的基本序列化。我不需要JSON格式,我想保持简单,以便能够在文件中存储struct或将其发送到网络。文档并不清楚如何使用serde进行基本(二进制或默认)序列化,它只显示了一个JSON的例子,但这不是我要找的。我也不想实现我自己的< code>serialize方法,我想使用Serde提供的默认方法。

这是我的例子,那么我如何使它工作?

use serde::{Serialize, Deserialize,Serializer};

#[derive(Serialize, Deserialize, Debug)]
struct Point {
    x: i32,
    y: i32,
}

fn main() {
    let point = Point { x: 1, y: 2 };

    //let serialized = serde::serialize(&point).unwrap(); // <-- doesnt work!
    //let serialized = Serializer::serialize(&point); // <-- doesnt work!
    //let serialized = point.serialize(Serializer); // <-- doesn't work!
    println!("data = {:?}", serialized);
}

游乐场:https://play.rust-lang.org/?version=stable

这是我的依赖行:

[dependencies]
serde = { version = "1.0", features = ["derive"] }

共有1个答案

段干麒
2023-03-14

如评论中所述,没有提供“默认”格式。

您必须选择所需的二进制格式,并将其作为附加依赖项包含,就像使用serde_json一样。

网站上有一个格式列表https://serde.rs/#data-格式。其中,serde_json是托管在https://github.com/serde-rs,所有二进制格式都是“第三方”。将其与最近下载的标签为“serde”的板条箱列表交叉引用,CBOR板条箱似乎很受欢迎。

 类似资料:
  • 我试图实现一个基本的Hibernate示例,但我无法使其工作。 每次我试着运行它,我都会得到: 线程“main”org.hibernate.hibernate.hibernateException:无法在org.hibernate.engine.JDBC.connections.internal.BasicConnectionCreator.createConnection(BasicConnec

  • 在Github和在线上,我看到了多个版本的Feign客户端Spring-Cloud、OpenFeign、Netflix.Feign都有不同的版本。谁能描述一下在生产中应该使用的最好的和稳定的假客户是什么? 应用: 我尝试了所有可能的注释排列,认为它可以解决自动操作的东西,但还是失败了

  • 在我们开始搞明白 Git 命令之前,你有必要先了解一下版本控制的基本流程。这本书会向你一步步地详细阐述各种不同的工作流程。但是首先还是让我们先来一起了解一下版本控制的最基本的流程。 版本控制中的最基本的模块就是 “仓库(Repository)”。 名词解释 仓库(Repository) 你可以把一个仓库想象成一个数据库,在那里你的版本控制系统存储了项目积攒的所有版本和元数据(metadata)。在

  • 基本的工作周期 Subversion有许多特性、选项和华而不实的高级功能,但日常的工作中你只使用其中的一小部分,在这一节里,我们会介绍许多你在日常工作中常用的命令。 典型的工作周期是这样的: 更新你的工作拷贝 svn update 做出修改 svn add svn delete svn copy svn move 检验修改 svn status svn diff 可能会取消一些修改 svn rev

  • 我尝试了《Spring in Action第三版》一书中描述的Spring MVC应用程序。不幸的是,到目前为止,在浪费了6个小时之后,我无法运行最简单的应用程序。我总是会收到“HTTP状态404”错误。 我在这个论坛上找到了很多关于“@RequestMappingSpring不工作”的帖子,现在想知道我是否在遵循正确的书,或者是否有一些非常基本的东西困扰着这么多Spring的学习者。 我试着运行

  • log4j-core-2.0-beta8.jar 并使用默认配置完成了尽可能简单的示例: 但由于某种原因,我得到的只是‘测试结束’。我从来没有得到过Hello World,无论在哪里我都能找到。我找错地方了吗?我的理解是,在默认配置下,它应该被打印到控制台,并带有“test over”。我已经将日志级别更改为info,仍然相同。我试着把记录器功能放到一个类中,仍然是一样的。我正在log4j文档页面