¿Cómo puedo actualizar el siguiente objeto JSON dinámicamente usando javascript o Jquery?
var jsonObj = [{'Id':'1','Username':'Ray','FatherName':'Thompson'},
{'Id':'2','Username':'Steve','FatherName':'Johnson'},
{'Id':'3','Username':'Albert','FatherName':'Einstein'}]
Me gustaría actualizar dinámicamente el nombre de usuario a 'Thomas' donde el 'Id' es '3'.
¿Cómo puedo conseguirlo?
Una solución JavaScript simple, asumiendo que jsonObj
ya contiene JSON:
Recorrerlo en bucle buscando el Id que coincida, establecer el nombre de usuario correspondiente, y romper
el bucle después de que el elemento coincidente haya sido modificado:
for (var i = 0; i < jsonObj.length; i++) {
if (jsonObj[i].Id === 3) {
jsonObj[i].Username = "Thomas";
break;
}
}
[Aquí está en jsFiddle][1]
Aquí'está lo mismo envuelto en una función:
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");