我搜索了很久迭代,但找不到我的问题的任何解决方案... 我得到一个随机嵌套的JSON对象是这样的:更换价值,同时通过嵌套JSON文件在JavaScript
var obj = { a: 1, b: 2, c: { a: 1, b: 2, c: {a: 'hello', b: 'HowAreYou?'} } };
someValue = 'hello';
newValue = 'bye';
现在我要搜索'someValue'。如果'obj'包含此值,则会触发警报。这是我的例子:
function wannaChangeValue(obj) {
var itemKey;
if (obj instanceof Object) {
for (itemKey in obj) {
if (obj.hasOwnProperty(itemKey)) {
wannaChangeValue(obj[itemKey]);
}
}
} else {
alert(obj);
if (obj == someValue) {
alert('got it! now change...')
//change someValue to newValue
}
}
return obj
}
wannaChangeValue(obj)
这个作品真的很好,但我怎样才能改变“someValue中”到“NEWVALUE”,并再次返回整个JSON文件? 我见过很多例子如何处理这个问题,但是我需要一个任何类型的嵌套json对象的解决方案,而不知道改变这个值的路径。也许这是一个完全错误的方法... 在此先感谢!
可能的复制[查找和更新在嵌套JSON对象(https://stackoverflow.com/questions/17988939/find-and-update-in-nested-json-object)。另一个可能有帮助的链接:https://stackoverflow.com/questions/15523514/find-by-key-deep-in-a-nested-object – Rajesh