c.key = "test";
a = {};
a.body = {};
a.body.interval={};
a.body.interval = c.key;
b = {};
b.body = {};
b.body.interval={};
b.body.interval = c.key;
c["key"]="sample";
return JSON.stringify(a);
我想更改javascript中提到的变量所引用的所有值。
目前,此印刷品
{"body":{"interval":"test"}}
我想更改c.key
引用的属性。
我无法更改JSON的各个属性,因为它们没有修复。
如何在javascript中更改单个变量引用的所有属性?
答案 0 :(得分:2)
不确定这是否正是您想要的,但使用函数而不是变量可以解决您的问题。 (因为你可以将替换函数传递给stringify。
看看以下代码:
c = {};
c.key = "test"
a = {};
a.body = {};
a.body.interval = function(){return c.key};
c["key"]="sample";
JSON.stringify(a, function (key, value) {
if (key == 'interval') {
return value();
} else {
return value;
}
});
c = {};
c.key = "test"
a = {};
a.body = {};
a.body.interval = function(){return c.key};
c["key"]="sample";
out = JSON.stringify(a, function (key, value) {
if (key == 'interval') {
return value();
} else {
return value;
}
});
console.log(out);