是否有适用于JavaScript和/或Google v8引擎的任何类型的持久化框架?
我想要存储(序列化)一个包含对象图的整个图形(包括例如函数),并在以后重新加载它。JSON是不够的,因为它不允许函数被存储,并且只允许树状结构(即没有两个对象引用相同的对象)。
我需要能够通用地做到这一点(即在编写嵌入v8的程序时不知道JavaScript代码),因为我希望我的程序的用户能够使用JavaScript自定义它,但我需要存储我的程序的状态(包括自定义状态)并在以后重新加载它。因此,我需要存储JavaScript引擎的状态。
编辑:
例如:
假设我们有以下代码:
var obj = { a: 4, b: function (x) { return x + this.a; } }
// ...
if ( ... ) { obj.a = 5; }
// ...
if ( ... ) { var c = 1; obj.b = function (x) { return x + this.a + c; } }
// ...
// now I want to serialize obj
那么,在没有关于程序逻辑的任何元信息的情况下,能否对 obj
进行序列化,并在以后进行反序列化,以使得在反序列化后 obj.b (2)
的结果与序列化之前相同?
第二次编辑:请注意闭包函数。