问题标签 [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.
java - Java:序列化初学者问题:-(
我想通过序列化来保存和存储简单的邮件对象,但我总是收到一个错误,我找不到它在哪里。
这是用户和消息类
这是一个例外:
exception in thread "main" java.lang.Error: Unresolved compilation problem:
This method must return a result of type Message[]
at sotring.storeing.getStoredMails(storeing.java:22)
at sotring.storeing.main(storeing.java:57)
感谢您的帮助!!!!!!!!!!!
json - 处理 JSON 序列化变化的正确方法
我有一个使用 Python 的 SimpleJSON 序列化 JSON 的网络服务,以及一个使用 Google 的 Visualization API的 javascript/ 客户端。当我尝试使用 Google 数据表的查询方法读取 JSON 响应时,我收到“无效标签”错误。
我注意到 Google 电子表格输出 JSON,对象键周围没有引号。我尝试在没有引号的情况下阅读 JSON 并且有效。我想知道将 SimpleJSON 输出读入 Google 数据表的最佳方法是什么
query = new google.visualization.Query("http://www.myuri.com/api/")
.
我可以使用正则表达式来删除引号,但这似乎很草率。我尝试过的 javascript JSON 解析库不会在对象键周围没有引号的情况下以 JSON 语法读取。
这是一些很好的背景阅读:围绕对象键的引号:
c# - WCF反序列化如何在不调用构造函数的情况下实例化对象?
WCF 反序列化有一些神奇之处。它如何在不调用其构造函数的情况下实例化数据协定类型的实例?
例如,考虑这个数据契约:
通过获取此对象的实例时,DataContractSerializer
您将看到该字段_wasConstructorCalled
为false
.
那么,WCF 是如何做到这一点的呢?这是其他人也可以使用的技术,还是隐藏在我们之外?
c# - 将类列表序列化为 XML
我有一组要序列化为 XML 文件的类。它看起来像这样:
bar 只是属性集合的包装器,如下所示:
我想标记它,以便它输出到一个 XML 文件 - 这将用于持久性,也可以通过 XSLT 将设置呈现为一个很好的人类可读形式。
我想得到一个很好的 XML 表示,如下所示:
Barlist 中的所有 Bars 都在哪里写出了它们的所有属性。我相当确定我需要对类定义进行一些标记才能使其工作,但我似乎找不到正确的组合。
我已经用属性标记了 Foo
和list<Bar>
带有属性的
试图告诉序列化器我想要发生什么。但是,这似乎不起作用,我只得到一个空标签,如下所示:
我不确定我使用自动属性的事实是否应该有任何影响,或者使用泛型是否需要任何特殊处理。我已经让它与更简单的类型(如字符串列表)一起使用,但到目前为止我还没有找到类列表。
xml - Groovy 解析 JSON 与 XML
使用 groovy,您是否期望在读取和查询 JSON 与 XML 的速度和内存开销方面有更好的性能?
c# - 序列化问题
情况是这样的:主项目A.和一个类库B.A引用B
项目 B 具有将被序列化的类。这些类在 A 中使用。现在,当从 Project AI 尝试序列化 B 中的对象时出现问题。抛出异常,表示 A 中的类无法序列化。这是奇怪的部分,因为在 BI 中的类中不能引用 A 中的那些。(将创建循环依赖项)。
我怎样才能找到问题?因为异常方法没有说明问题出现在哪里?
编辑:好的,我在Kent Boogaart 的小应用程序 的帮助下发现了问题:D。我在项目 A 的一个类中有一个 PropertyChanged 侦听器,它没有标记为 Serializable - 我不想这样标记它。(它会将该类序列化为正确的?)
我通过以下链接解决了事件问题:.NET 2.0 solution to serialization of objects that raise events。仍然存在问题,但它可能是类似的东西。
PS:来自Kent Boogaart的好工具
java - 如何正确序列化 Hibernate 集合?
我正在尝试从使用 Hibernate 检索到的数据库中序列化对象,并且我只对对象的完整实际数据感兴趣(包括周期)。
现在我一直在使用XStream,这似乎很强大。XStream 的问题在于它在信息上看起来过于盲目。它可以识别 Hibernate 的 PersistentCollections,包括所有的 Hibernate 元数据。我不想序列化那些。
那么,是否有一种合理的方法可以从 PersistentCollection 中提取原始集合,并初始化对象可能指向的所有引用数据。或者你能推荐我一个更好的方法吗?
(Simple的结果看起来很完美,但它无法处理像 Calendar 这样的基本 util 类。它一次也只接受一个带注释的对象)
java - 对象的序列化:不能涉及线程状态,对吧?
我正在研究将执行程序的状态存储到磁盘并再次将其带回的基本原则。在我们目前的设计中,每个对象(这是一个带有函数指针列表的 C 级事物,一种低级的自制面向对象——这样做有很好的理由)将是调用以将其显式状态导出为可写和可恢复的格式。使这项工作的关键属性是与对象相关的所有状态确实封装在对象数据结构中。
还有其他使用活动对象的解决方案,其中有一个用户级线程附加到某些对象。因此,程序计数器、寄存器内容和堆栈内容突然成为程序状态的一部分。据我所知,没有好的方法可以在任意时间点将这些东西序列化到磁盘上。线程必须将自己停放在程序计数器等不表示任何内容的特殊状态下,因此基本上将它们的执行状态机状态“保存”到显式对象状态。
我查看了一系列序列化库,据我所知,这是一个通用属性。
核心问题是:或者事实并非如此?就线程在其代码中执行的位置而言,是否有可以包括线程状态的保存/恢复解决方案?
请注意,在虚拟机中保存整个系统状态不算数,这并不是真正序列化状态,而只是冻结机器并移动它。这是一个明显的解决方案,但大多数时候有点重量级。
有些问题清楚地表明,我在解释我们如何做事的想法时不够清楚。我们正在开发一个模拟器系统,对于在其中运行的代码有非常严格的规则是允许编写的。特别是,我们完全区分了对象构造和对象状态。每次设置系统时都会重新创建接口函数指针,而不是状态的一部分。状态仅由特定指定的“属性”组成,每个“属性”都具有定义的获取/设置函数,该函数在内部运行时表示和存储表示之间进行转换。对于对象之间的指针,它们都被转换为名称。所以在我们的设计中,一个对象可能会像这样在存储中出现:
链表从未真正存在于模拟结构中,每个对象代表某种硬件单元。
问题是有些人想这样做,但也有线程作为编码行为的一种方式。这里的“行为”实际上是模拟单元状态的突变。基本上,我们的设计说所有这些更改都必须在原子完整操作中进行,这些操作被调用、完成它们的工作并返回。所有状态都存储在对象中。你有一个反应模型,或者它可以被称为“运行到完成”或“事件驱动”。
另一种思考方式是让对象有活动的线程在它们上面工作,它们像经典的 Unix 线程一样处于一个永恒的循环中,并且永远不会终止。这是我试图查看它是否可以合理地存储到磁盘的情况,但是如果不在下面插入 VM,这似乎是不可行的。
2009 年 10 月更新:与此相关的论文发表在 2009 年的 FDL 会议上,请参阅这篇关于检查点和 SystemC 的论文。
python - 带有python中键值对列表的配置文件
我有一个 python 脚本,它分析一组错误消息并检查每条消息是否与某个模式(正则表达式)匹配,以便对这些消息进行分组。例如,“文件 x 不存在”和“文件 y 不存在”将匹配“文件 .* 不存在”并被视为两次出现的“文件未找到”类别。
随着模式和类别的数量越来越多,我想将这些“正则表达式/显示字符串”放在一个配置文件中,基本上是某种字典序列化。
我希望这个文件可以手动编辑,所以我放弃了任何形式的二进制序列化,而且我宁愿不使用 xml 序列化来避免字符转义的问题(& <> 等等...... )。
你知道什么是实现这一目标的好方法吗?
更新:感谢 Daren Thomas 和 Federico Ramponi,但我不能有一个可能包含任意代码的外部 python 文件。