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

我可以使用Protobuf net反序列化已经在Java中序列化的数据吗?

李明贤
2023-03-14

我们有一个基于Java的WebSocket,它目前正在返回JSON,然后我们在一个应用程序中使用它。Net应用程序。由于我们接收的数据的大小,我想开始利用协议缓冲区在大小/带宽以及在序列化和反序列化过程中节省时间/资源方面提供的所有优点。

我的问题是:

如果我要求我们的Java团队将他们的JSON串行化器替换为Prothrobuf的Java实现,那么我可以在我的. Net消费者中使用Prostrobuf-net来反序列化它吗?

换句话说,我如何确保我的POCO与他们的POJO匹配!?

请注意,这不是关于不同JSON Serlializer的性能优势的问题,它是特定于Protobufs的。

共有1个答案

江德润
2023-03-14

是的,绝对的。

协议缓冲区被设计成与语言无关的。事实上,它们的主要用途之一是在运行不同堆栈的机器之间进行通信。

在网上,协议缓冲区与XML或JSON没有什么不同。因为它们独立于语言。

要进行反序列化,您应该使用谷歌的机器生成代码来实现这两种功能。Net和Java。这将确保协议缓冲区正确反序列化。

 类似资料:
  • 问题内容: 我已经开始在我的第一个android应用程序上进行工作,并且具有处理多层图像的应用程序。我能够将项目文件的平面版本导出为PNG,但我希望能够保存分层图像以供以后编辑(包括应用于某些层的任何选项,例如基于文本的层)。 无论如何,我已经确保需要写入文件的类是“可序列化的”,但是由于android.graphics.Bitmap不可序列化这一事实而遇到了一些障碍。以下代码实质上将位图作为PN

  • 问题内容: 我尝试过在Java和Android之间实现跨平台序列化。我使用了Serializable,并将我的代码在Android中与台式机Java放在同一软件包中。 来源:java-desktop序列化 资料来源:Android-反序列化 学生是一类,实现了Serializable。在桌面上,我将学生实例序列化为“ thestudent.dat”。我将此文件放在Android设备上的SD卡上,并

  • 主要内容:1 Java序列化和反序列化,2 Java序列化的优点,3 java.io.Serializable接口,4 Java ObjectOutputStream,5 Java ObjectInputStream,6 Java序列化的例子,7 Java反序列化的例子1 Java序列化和反序列化 Java中的序列化是一种将对象状态写入字节流的机制。它主要用于Hibernate,RMI,JPA,EJB和JMS技术。 序列化的反向操作称为反序列化,其中字节流被转换为对象。序列化和反序列化过程与平台

  • 上一小节我们学习了 Java 的输入输出流,有了这些前置知识点,我们就可以学习 Java 的序列化了。本小节将介绍什么是序列化、什么是反序列化、序列化有什么作用,Serializable 接口以及 Externalizable 接口,常用序列化工具介绍等内容。 1. 序列化与反序列化 序列化在计算机科学的数据处理中,是指将数据结构或对象状态转换成可取用格式,以留待后续在相同或另一台计算机环境中,能

  • 我试图使用Google的Gson库在Java中序列化和反序列化一个HashMap。我希望序列化这里所示的hashmap,将其保存到一个文件中,然后在以后的阶段从一个文件中读取并反序列化它。 HashMap如下所示 反序列化类的反序列化逻辑,以及我目前基于Web上找到的示例实现的对象类。IS: 下面是在test函数中调用的序列化和反序列化代码。测试函数序列化上面HashMap的一个对象,创建一个字符

  • 我创建了一个新的自定义反序列化程序,当json中存在空字符串时,该反序列化程序将作为null返回 我的问题是从性能的角度来看的。我想优化一个事实,即在字段的每一个可能的更改中都必须更改反序列化器。有可能优化你的吗?我正在考虑使用Reflaction,但我不知道怎么做。有可能吗?