各位,我有以下 JSON 对象,我想在其中递归地查找 foo
与 bar
的每次出现。
此外,[Object]
可能包含也需要替换的 foo
。
{ _id: 530797d8952e10129f97fde3,
Product: 'something',
Realm: [ 'something', 'something','foo' ],
Service: 'Node',
Owners: [ 'foo', 'something' ],
Project: 'something',
URLs:
[ { 'foo': [Object] },
{ 'foo': [Object] },
{ 'foo': [Object] } ] }
我将如何循环这个?我尝试过但失败了:
var cleanObject = {}
for (key in dirtyObject) {
key = key.replace('foo', 'bar');
cleanObject[key] = dirtyObject[key];
}
最佳答案
提示:这不是“JSON 对象”。不存在“JSON 对象”这样的东西。 “JSON”是一个字符串,代表一个对象。你所拥有的是一个对象文字。
但是,JSON 可以提供帮助。考虑尝试:
var cleanObject = JSON.parse(JSON.stringify(dirtyObject).replace(/foo/g,'bar'));
关于JavaScript 在对象中递归替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21942418/