一个简单的JavaScript解决方案,假定jsonObj
已经包含JSON:
在其上循环查找匹配的ID,设置相应的用户名,并break
在修改了匹配项之后从循环中进行查找:
for (var i = 0; i < jsonObj.length; i++) {
if (jsonObj[i].Id === 3) {
jsonObj[i].Username = "Thomas";
break;
}
}
这是包装在函数中的同一件事:
function setUsername(id, newUsername) {
for (var i = 0; i < jsonObj.length; i++) {
if (jsonObj[i].Id === id) {
jsonObj[i].Username = newUsername;
return;
}
}
}
// Call as
setUsername(3, "Thomas");
以上解决方案适用于提琴手。我有问题中的json字符串,要使其在ASP.NET MVC 5 Razor视图中工作,我必须使用obj = JSON.parse(jsonObj)将该字符串解析为json。在操作之前。希望它可以帮助某人。顺便说一句,我投票赞成,因为该解决方案有效。
这是一个很好的解决方案。我在下面的答案中走得更远。