当你有一个javascript对象树,其中一些分支重复时,是否有一个工具可以输出它而不重复?
示例:
情况:
var a = new MyHugeObject();
var b = "Hello world!";
var c = 42;
var result = { main: a, all: [a, b, c] };
console.log(JSON.stringify(result));
其中输出将包含a
两次的整个JSON
{main:/* lot of json removed*/,all:[/* same lot of json removed*/,"Hello world!",42]}
情况为:
var a = new MyHugeObject();
var b = "Hello world!";
var c = 42;
var result = { main: a, all: [a, b, c] };
console.log(someMagic(result));
其中输出将包含a
{main:/* lot of json removed*/,all:reference-to-main,"Hello world!",42]}
我瞥了一眼falcor的json图,但我没有深入挖掘,留下的印象是它最终不会让我将现有对象转换为优化对象JSON。