问题标签 [object-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 回答
280 浏览

java - 如何将 Hastable 或 Object 写入 Blackberry 上的文件

我刚刚了解到 Blackberry 不支持实现 Serializable。那么有没有办法将对象(或哈希表)写入文件?

谢谢。

0 投票
1 回答
1248 浏览

php - 在会话中序列化对象时不完整的 PHP 类

我正在制作购物车(购物车模型)。其中一个受保护的属性是“_items”,它包含一个 Product 对象数组。它们(产品)都存储在数据库中以填充会话(使用 ZF、Zend_Session_SaveHandler_DbTable() 等)。

在控制器中,我使用 ProductMapper 从 DB 中获取一个 Product obj 并将其提供给“addItem()”:

getProductByName()返回一个新的填充 Model_Product 对象。


我通常得到

Please ensure that the class definition "Model_Product" of the object you are trying to operate on was loaded _before_ ...

错误消息,会话转储显然显示

['__PHP_Incomplete_Class_Name'] => 'Model_Product'


我知道“在序列化之前声明类”。我的问题是:我如何声明 Product 类addItem(),如果它首先被注入(第一个参数)?新声明(如)不会new Model_Product()覆盖参数(原始对象)addItem()吗?我必须再次在 Cart 模型中声明它吗?

此外,Cannot redeclare class Model_Product如果我……在购物车中重新声明它,我肯定会得到一个。

0 投票
1 回答
1422 浏览

asp.net-mvc - 如何对 MVC 3 应用程序进行表单 POST 并获取反序列化的类?

我有以下表格:

data-bind属性是 knockoutjs - 但这并不重要,textarea 正确包含作为序列化对象的 JSON。

现在,我如何对 MVC 3 应用程序进行表单 POST 并获取反序列化的类?

0 投票
11 回答
163954 浏览

php - 将 PHP 对象序列化为 JSON

因此,当我偶然发现新的JsonSerializable Interface时,我在php.net上闲逛以获取有关将 PHP 对象序列化为 JSON 的信息。虽然它只是PHP >= 5.4,但我在 5.3.x 环境中运行。

这种功能是如何实现PHP < 5.4的?

我还没有对 JSON 进行过多的工作,但我正在尝试在应用程序中支持 API 层,并且将数据对象(否则将被发送到视图)转储到 JSON 中将是完美的。

如果我尝试直接序列化对象,它会返回一个空的 JSON 字符串;这是因为我假设json_encode()不知道该怎么处理这个对象。我是否应该递归地将对象简化为数组,然后对其进行编码


例子

echo json_encode($data)产生一个空对象:

var_dump($data)但是,按预期工作:


附录

1)

所以这是toArray()我为Mf_Data班级设计的功能:

但是,由于Mf_Data对象也有对其父(包含)对象的引用,因此递归失败。_parent当我删除参考时,它就像一个魅力。

2)

只是为了跟进,我使用的转换复杂树节点对象的最终函数是:

3)

我再次跟进,实施更清晰。使用接口进行instanceof检查似乎比method_exists()但是method_exists()交叉继承/实现)更干净。

使用unset()似乎也有点乱,似乎应该将逻辑重构为另一种方法。但是,此实现确实复制了属性数组(由于array_diff_key),因此需要考虑。

0 投票
3 回答
1109 浏览

android - 保存没有序列化对象(如 Rect)的序列化类

当活动调用 onDestroy() 时,我试图保存我的序列化对象,但是当我尝试使用 ObjectOutputStream 编写对象时,会抛出 java.io.NotSerializableExeption。

你能帮我么。谢谢

0 投票
3 回答
21232 浏览

php - 对象序列化/反序列化如何工作?

我正在阅读有关 PHP 的序列化/反序列化概念的信息。我想知道它们是如何存储在文件系统/数据库中的。我猜它是二进制格式。但是,我想知道整个班级是如何存储的?我知道可以存储数据成员中的数据,但是方法是如何存储的?

我的意思是,PHP 怎么知道 say, 函数里面写了什么代码someFunc()

PHP 可以知道在第 2 行做什么,但它如何知道在第 5 行做什么,这是一个未序列化的对象?它是否也保存代码?

0 投票
3 回答
19236 浏览

java - Java对象序列化和继承

假设你有这两个类,Foo 和 Bar,其中 Bar 扩展 Foo 并实现Serializable

请注意, Foo 没有实现Serializable. 那么当 bar 被序列化时会发生什么?

它打印“默认 21”。问题是,为什么在类未序列化时会调用默认构造函数?

0 投票
1 回答
4000 浏览

c# - 如何将 com 或 excel 对象序列化为二进制格式,以便我可以将其存储在 asp.net 的 memorystream 中

这是示例代码......但我得到了serializationException。

xlbook 是对象,我想将此对象保存到 memorystream。

我得到的例外是......

在程序集“Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”中键入“Microsoft.Office.Interop.Excel.WorkbookClass”未标记为可序列化。

0 投票
4 回答
13232 浏览

php - 在 MySql 数据库中存储序列化对象

我有一个大的 php 对象,我想将其序列化并存储在 MySql 数据库中。表编码是UTF-8,保存序列化对象编码的列也是UTF-8

问题是该对象包含一个包含法语字符的文本字符串。

例如:

当我序列化对象然后再次直接取消序列化它时,字符串被维护并且格式正确。

但是,当我将序列化对象存储到 MySql 数据库中然后再次检索它然后取消序列化它时,字符串变成这样:

将对象存储在数据库中时出现问题。

笔记:

  • 该对象使用 propel ORM 存储。
  • 列类型为text
  • 该字符串被存储并从 html 文件中读取。
0 投票
2 回答
195 浏览

java - Java 和对象序列化

我看到的每个关于对象序列化的示例都包括一个所有字段构造函数以及每个字段的 getter 和 setter 方法。这是必需品吗?您需要做什么才能使 java 对象可序列化,使用可序列化接口对其进行标记并确保所有非瞬态字段都是可序列化的。