问题标签 [data-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 投票
2 回答
279 浏览

c# - 将 JSON 用于日常活动日志

为了跟踪我的新年决心,我创建了daily.log以下格式的文件。

我正在创建一个简单的 C# 控制台应用程序,它会问我几个问题并相应地填写此文件。该工具的未来功能之一将是显示一个简单的仪表板样式网页,用于测量解决方案的进度等。

我想使用数据序列化或配置文件格式以这种方式存储日常活动信息,因为成熟的工具可用于这些格式而不是纯文本。

我以前从未使用过 JSON,我想知道 JSON 格式是否可以与 C# 独立使用(不涉及 javascript),即使可以,在这种情况下使用 JSON 是否合适。

如果不是 JSON,它的超集 YAML?或者是否有其他适合此目的的替代方案?

0 投票
1 回答
330 浏览

database - 在数据库中存储和读取 NSKeyedArchived NSData

我有一个包含大量变量的对象,这些变量需要保存在本地以及数据库中。该对象将使用 NSKeyedArchiver 进行序列化并在本地存储(与https://github.com/nicklockwood/CryptoCoding中的 CryptoCoder 结合使用)。

现在我正在尝试将数据存储在数据库(cloudant.com)中。我可以使用 NSData 直接发送数据,将(例如,<F60323 04A525 ... ... 6D3301>)存储在数据库中,但是读回来我不知道如何将其转换回 NSData。将 NSString 与编码一起使用会产生空结果。

因为序列化的数据写在一个遵循 plist 格式的文件中,所以我尝试使用 NSPropertyListSerialization 将其转换为 NSDictionary 并将其发送出去,但转换不准确。

需要建议。

0 投票
1 回答
200 浏览

json - 是否有一种数据序列化语言允许将对象用作另一个对象的名称?

我发现 JSON 和 YAML 都缺少。

我希望做这样的事情(在 YAML 中):

(在 JSON 中):

但是这些在那些数据序列化语言中都是无效的。

有谁知道一种数据序列化语言,基本上可以在其中使用对象作为对象的名称?我认为你不能在 YAML 中做到这一点很愚蠢,尽管我可以原谅 JSON,因为它被设计为简单而不是灵活。

0 投票
2 回答
110 浏览

c# - WP8 上的 Windows.Storage 给了我反序列化异常

我正在尝试ObservableCollection在 windows phone (Windows.Storage) 中使用新方法保存一个。我有以下类,它是我要保存的可观察集合的基础:

我保存可观察集合的代码是这样的:

静态SaveCollection<t>方法的调用:

其中 Data 是基于settingsModel. 该调用在方法的最后一行给了我一个错误SaveCollection。数据序列化器的错误:

System.Runtime.Serialization.ni.dll 中出现“System.Security.SecurityException”类型的异常,但未在用户代码中处理

附加信息:无法反序列化集合数据合同类型“System.Collections.ObjectModel.ObservableCollection`1[[WP_ADS.Model.SettingsModel, WP_ADS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]”,因为它确实可以反序列化没有公共无参数构造函数。添加公共无参数构造函数将修复此错误。或者,您可以将其设为内部,并在程序集上使用 InternalsVisibleToAttribute 属性以启用内部成员的序列化 - 有关更多详细信息,请参阅文档。请注意,这样做有一定的安全隐患。

知道如何解决这个问题吗?

(正如错误所暗示的,我已经尝试添加一个无参数构造函数,使构造函数成为内部但都无济于事)。

0 投票
1 回答
2607 浏览

map - Hazelcast IMap.get() 抛出 HazelcastSerializationException,但 IMap.put() 工作正常

我有一个在 VM 上运行的 Hazelcast 服务器实例。数据应该存储在 a 中MAP<Integer, User>,其中 User 类如下:

我使用客户端实例连接到该服务器并尝试将对象添加到该地图:

上面的代码给了我以下控制台输出:

以及该行的以下异常User queried = (User) map.get(1);

这里有什么问题?为什么我无法读取刚刚放入 Map 的数据?

以下是异常详细信息:

0 投票
2 回答
360 浏览

python - Python 数据持久化

每当需要通过网络存储或发送 Python 对象时,它首先被序列化。我猜原因是存储和网络传输都是基于位的。我有一个愚蠢的问题,这更像是一个计算机科学基础问题,而不是一个 Python 问题。python 对象在缓存中时采用什么样的格式?他们不应该将自己表示为比特吗?如果是这种情况,为什么不直接使用这些位来存储或发送对象,为什么还要麻烦序列化呢?

0 投票
1 回答
9371 浏览

rpc - AVRO 中的数据验证

我是 AVRO 的新手,如果这是一个简单的问题,请原谅。我有一个用例,我使用 AVRO 模式进行记录调用。

假设我有 avro 架构

现在如果输入像

我想对这些字段使用一些正则表达式验证,并且只有当它以如上所示的特定格式出现时,我才想采用此输入。有没有办法在 avro 模式中指定包含正则表达式?

任何其他支持此类的数据序列化格式?

0 投票
1 回答
576 浏览

c# - Unity:如何存储游戏中的一些数据并在下次运行时恢复

在我的游戏中,我有一个丰富的收藏品,如果玩家已经收集了它并返回场景,我希望每个单独的收藏品都不会重生。例如,一个场景中可能有一百多个这样的收藏品,如果玩家收集其中一个,离开场景然后返回,他们收集的那个不会重生,但其余的会重生。

经过一些研究,我认为我应该使用数据序列化来存储哪些收藏品已被收集,哪些尚未收集,但我不确定如何去做,而且这个概念对我来说很新。有人可以向我解释一下我应该做什么吗?

谢谢

0 投票
1 回答
296 浏览

postgresql - OCaml:将数据序列化为带有附加要求的字符串

我在找什么

假设T为 OCaml 数据类型(例如:)type t = A | B of int,并x为 type 的值,是否存在满足以下要求T的函数:f

  1. f映射x到一个字符串,即f(x)是一个字符串表示x
  2. 对于所有u,vT,u = v当且仅当f(u) = f(v)
  3. f可以自动推导出来,比如type t = ... [@@deriving yojson]
  4. 一个相对简单类型的值的字符串表示,如上面定义的,应该是人类可编辑的
  5. (不是必需的,但很好)局部性,即如果将t上面的类型扩展为type t = A | B of int | C of something,则f("A the one before the extending")应该等于f("A the one after the extending"),换句话说,它应该使将旧版本的类型升级到新版本变得容易

为什么我想要这个

将 OCaml 数据存储到 Postgres 列中。我有一个使用 PGOCaml 从 Postgres 获取数据的小型 Web 应用程序,并且 PGOCaml 类型在编译时检查 SQL 语句,所以如果你create domain some_type as text在 Postgres 中,并稍微更改 PGOCaml 的源代码(使用上面f的转换 Postgrestext到 OCaml 类型),您可以将 ADT 存储到 Postgres 表中,同时保持类型安全。

要求中的第二点很重要,因为在 Postgres 方面,您可能需要测试该列的相等性,并且此类测试是在 Postgrestext类型上完成的。

我查看了 Sexp,没有找到关于第二点的信息。

PS,刚接触OCaml,这种东西是不是已经有成熟的解决方案了?

更新

我最终使用了 yojson,因为我的类型非常简单,只是零变量,我可以摆脱它,虽然它是一个远离完美的星系。

更新 2

对于那些有类似问题的人,我认为当前最好的解决方案是使用 yojson,而不是将其存储在text列中,将其存储在 a 中jsonb,这样,您可以获得空格和顺序不敏感的比较,(虽然我找不到pg 的关于jsonb类型相等性的文档)。

0 投票
0 回答
22 浏览

xml - 是否有一种类似 XML 的语言(或任何语言)可以轻松表达重叠数据?

(这可能是在错误的站点,但我不确定将这个问题分配给正确的站点的位置。Mod(s),请原谅并帮助我。)

我有以下顺序:

我有以下示例“代码”尝试标记序列:

请注意,这是“糟糕的 XML”。它在 XML 标记中收到“开始/结束标签不匹配”错误。我这样做是为了证明。

我试图并希望有效地“标记”字符串中序列的元素。

我承认我很难知道如何表达这个问题。有没有一种语言可以让我轻松(有效地)表达(可能是疯狂地)重叠集合(想想维恩图)以上述顺序“找到”?谢谢你。