问题标签 [serialization]

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 投票
6 回答
20042 浏览

serialization - 如何序列化一个图结构?

平面文件和关系数据库为我们提供了一种序列化结构化数据的机制。XML 非常适合序列化非结构化的树状数据。

但是很多问题最好用图表来表示。例如,热模拟程序将使用通过电阻边缘相互连接的温度节点。

那么序列化图结构的最佳方法是什么?我知道 XML 在某种程度上可以做到这一点——就像关系数据库可以序列化复杂的对象网络一样:它通常可以工作,但很容易变得丑陋。

我知道 graphviz 程序使用的点语言,但我不确定这是最好的方法。这个问题可能是学术界可能正在研究的问题,我很想参考任何讨论这个问题的论文。

0 投票
2 回答
2009 浏览

java - 读取 VC++ CArchive 二进制格式(或 Java 读取(CObArray))

是否有关于用于序列化各种 MFC 数据结构的二进制格式的明确文档?我已经能够在十六进制编辑器中查看我自己的一些类,并使用 Java 的 ByteBuffer 类来读取它们(使用自动字节顺序转换等)。

但是,我目前在尝试引入 CObArray 数据时遇到了问题,因为似乎有一个相当大的标题对我来说是不透明的,并且不清楚它是如何持久化对象类型信息的。

是否有一组对此有帮助的在线文档?或者来自过去处理过这个问题的人的一些示例 Java 代码?

0 投票
1 回答
457 浏览

.net - .NET 序列化类设计问题

我们有一个相当大的对象图,需要以许多不同的方式(模式)进行序列化和反序列化。在某些模式下,我们希望对某些属性进行反序列化,而在某些模式下则不需要。在未来的模式中,属性的选项可能比 yes 或 no 更多。现在的问题是我们如何实现这些模式。

方法 A(使用反序列化构造函数和 ISerializable.GetObjectData):

如果我们让图的每个对象使用反序列化构造函数来序列化自己,我们会为所有不同的反序列化模式获得很多开关。然而,这种方法的优点是所有反序列化逻辑都在一个位置,如果我们添加新属性,我们只需要修改 ISerializable.GetObjectData 和反序列化构造函数。另一个优点是对象可能会考虑可能公开暴露的内部状态。最重要的缺点是我们数据对象本身需要了解所有可能的序列化模式。如果我们需要一个新模式,我们需要修改数据对象。

方法 B(反序列化工厂类/方法):

另一种方法是为在外部进行序列化和反序列化的每种模式(例如 GraphSerializer.SerializeObjectTypeX(ObjectTypeX objectToSerialze))设置某种反序列化工厂类/方法。这里的优点是,每当我们想要一个新模式时,我们只需添加一个新模式工厂类/方法和我们的数据对象不会因为引入的所有序列化模式而变得混乱。这里的主要缺点是我必须为所有不同的模式一遍又一遍地编写相同的序列化代码。如果两种模式只是在一两个属性,但我必须再次为整个图实现完整的逻辑。当我向数据对象添加新属性时,我需要更新所有工厂类。

所以我想知道是否有更好的方法来解决这个恕我直言的一般问题。甚至是 .NET 中的最佳实践?或者,也许我只是从错误的角度看待整个事情?

0 投票
1 回答
4026 浏览

c# - 在 C# 中实例化 System.Xml.Serialization.XmlSerializer 时崩溃

System.Xml.Serialization.XmlSerializer在 C# 库中实例化类的实例时,我们看到了崩溃。崩溃发生在构造函数中,当它尝试向字典添加重复键时。我在下面包含了一个堆栈跟踪。

这种崩溃只发生在一台机器上,修复我们的 .NET 3.5 安装并没有帮助。有没有其他人看到任何类似的问题?

0 投票
5 回答
3752 浏览

c# - C#中的XML序列化

我有一个明确实现接口的简单类型。

有没有办法序列化和反序列化 IMessageHeader 类型的对象?

尝试时出现以下错误

“无法序列化接口 IMessageHeader”

0 投票
19 回答
258353 浏览

c# - XmlSerializer - 存在反映类型的错误

使用 C# .NET 2.0,我有一个复合数据类,它确实具有[Serializable]属性。我正在创建一个XMLSerializer类并将其传递给构造函数:

我得到一个例外说:

反映类型有错误。

在数据类内部还有另一个复合对象。这是否也需要具有[Serializable]属性,或者通过将其放在顶部对象上,它是否递归地将其应用于内部的所有对象?

0 投票
4 回答
2846 浏览

c# - 有没有人使用 Hessian 二进制远程协议来桥接使用 Java 和 .NET 的应用程序?

Hessian是一种自定义二进制序列化协议(我认为它是开源的),它构成了二进制跨平台远程处理框架的基础。我想知道这里是否有人使用过它,如果是这样,我们可以从一种将 Java 应用程序与 C# 应用程序连接起来的解决方案获得什么样的性能。(假设我们正在序列化简单类,可能是简单类的数组、列表、字典。)

0 投票
6 回答
1998 浏览

.net - WCF Datacontract 免费序列化 (3.5 SP1)

有没有人让这个真正起作用?关于如何启用此功能的文档不存在,尽管有一个 3.5 SP1 项目,但我仍然缺少属性异常。

0 投票
6 回答
48422 浏览

wcf - .NET 3.5 中 DateTime 序列化的最佳实践

大约 4 年前,我关注了这篇MSDN 文章,了解在 .Net 1.1 和 ASMX Web 服务(以 SQL 2000 服务器作为后端)上构建 .Net 客户端的 DateTime 使用最佳实践。我仍然记得我在使用 DateTime 时遇到的序列化问题以及它为不同时区的服务器所做的测试工作。

我的问题是:对于 WCF 和 SQL Server 2008 等一些新技术,是否有类似的最佳实践文档,特别是添加了新的日期时间类型来存储时区感知信息。

这是环境:

  1. 太平洋时间的 SQL Server 2008。
  2. 不同时区的 Web 服务层。
  3. 客户可以在不同的时区使用 .Net 2.0 或 .Net 3.5。如果方便的话,我们可以强制大家升级到.Net 3.5。:)

对于每一层中使用的数据类型有什么好的建议/最佳实践吗?

0 投票
15 回答
134837 浏览

serialization - Biggest differences of Thrift vs Protocol Buffers?

What are the biggest pros and cons of Apache Thrift vs Google's Protocol Buffers?