如何根据其他属性更改特定位置的JSON对象?

时间:2012-10-21 23:50:43

标签: javascript jquery json

{
  "employees": [
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName":"Jones" }
  ]
}

我们怎样才能改变约翰的姓氏? (不知道它是Doe)

2 个答案:

答案 0 :(得分:3)

您可以使用$.each效用函数:

$.each(obj.employees, function(i, v){
   if (v.firstName === 'John') {  
       v.lastName = 'newValue'
       // return false
   }
})

http://jsfiddle.net/g7tzK/


您还可以使用原生for循环。

for (var i = 0; i < obj.employees.length; i++) {
   if (obj.employees[i].firstName === 'John') {
      obj.employees[i].lastName = 'newValue';
      return false;
   }
}

答案 1 :(得分:1)

不需要jQuery:

for(var i in obj.employees)
{
    if(obj.employees[i].firstName == 'John')
    {
            obj.employees[i].lastName = "newValue";
    }
}