有我任何機會,以序列元(任何格式,這樣我就可以將其存儲在DB)?的Javascript系列化
var obj1 = {};
var obj2 = {};
obj1.link = obj2;
obj2.link = obj1;
var meta = [obj1, obj2];
據我所知,問題是JSON序列化對象的對象鏈接。
有我任何機會,以序列元(任何格式,這樣我就可以將其存儲在DB)?的Javascript系列化
var obj1 = {};
var obj2 = {};
obj1.link = obj2;
obj2.link = obj1;
var meta = [obj1, obj2];
據我所知,問題是JSON序列化對象的對象鏈接。
是。您需要爲您的對象提供某種ID並將其用作參考。
var obj1 = {id: "obj1"};
var obj2 = {id: "obj2"};
obj1.link = "obj2";
obj2.link = "obj1";
var meta = [obj1, obj2];
一種方法是使用一個對象作爲最外層的容器,使用對象的鍵作爲IDS:
var objs = {
obj1: { link: "obj2" },
obj2: { link: "obj1" }
}
然後你就可以按照只需財產查找鏈接:
var o1 = objs["obj1"];
var o2 = objs[o1.link];
並將其轉換成JSON,而無需任何轉換
JSON序列化這樣的
var a = {}, b = {};
var d = {
a: a,
b: b,
c: "c"
};
JSON.stringify(d, function(key, value) {
if (value === a || value === b) {
return;
}
return value;
});
// returns '{"c":"c"}'
:鏈接可容易地通過使用該替換器功能來避免