javascript - 使用 Javascript 更新 JSON 对象

如何使用 javascript 或 Jquery 动态更新以下 JSON 对象?

var jsonObj = [{'Id':'1','Username':'Ray','FatherName':'Thompson'},  
               {'Id':'2','Username':'Steve','FatherName':'Johnson'},
               {'Id':'3','Username':'Albert','FatherName':'Einstein'}]

我想将用户名动态更新为“Thomas”,其中“Id”为“3”。

我怎样才能做到这一点?

最佳答案

一个普通的 JavaScript 解决方案,假设 jsonObj 已经包含 JSON:

循环查找匹配的Id,设置对应的用户名,修改匹配项后从循环中break:

for (var i = 0; i < jsonObj.length; i++) {
  if (jsonObj[i].Id === 3) {
    jsonObj[i].Username = "Thomas";
    break;
  }
}

Here it is on jsFiddle.

这是同样的东西包裹在一个函数中:

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");

https://stackoverflow.com/questions/8702474/

相关文章:

json - 返回 Mvc.JsonResult 加上设置 Response.StatusCode

java - 如何解析 JSON 并将其值转换为数组?

ruby-on-rails - 什么是 JSON 八位组,为什么需要两个?

ruby-on-rails - 我应该如何格式化对我的 rails 应用程序的 JSON POST

mysql - 错误 : Most middleware (like json) is no lon

c# - 无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型 'Sy

javascript - 如何对 Javascript 对象进行排序,或将其转换为数组?

java - 应用程序配置文件

javascript - Backbone.js 模型与集合

json - JSON Schema 中的 "required"与 "optional"有什么区别