如何循环JSON数组?

pal*_*pal 12 javascript jquery json

我有一些JSON代码,其中包含多个对象:

[
    {
        "MNGR_NAME": "Mark",
        "MGR_ID": "M44",
        "EMP_ID": "1849"
    },
    {
        "MNGR_NAME": "Steve",
        "PROJ_ID": "88421",
        "PROJ_NAME": "ABC",
        "PROJ_ALLOC_NO": "49"
    }
]
Run Code Online (Sandbox Code Playgroud)

我的JSON循环片段是:

function ServiceSucceeded(result) 
{       
  for(var x=0; x<result.length; x++) 
  {      

  }    
}
Run Code Online (Sandbox Code Playgroud)

你能否告诉我如何检查阵列中是否没有"MNGR_NAME".(在我的案例中,它出现了两次.)

Abd*_*nim 31

您需要result在迭代时访问该对象.

for (var key in result)
{
   if (result.hasOwnProperty(key))
   {
      // here you have access to
      var MNGR_NAME = result[key].MNGR_NAME;
      var MGR_ID = result[key].MGR_ID;
   }
}
Run Code Online (Sandbox Code Playgroud)


Kee*_*ker 7

你可以使用jQuery的$ .each:

    var exists = false;

    $.each(arr, function(index, obj){
       if(typeof(obj.MNGR_NAME) !== 'undefined'){
          exists = true;
          return false;
       }
    });

    alert('Does a manager exists? ' + exists);
Run Code Online (Sandbox Code Playgroud)

返回false将打破每个,所以当遇到一个管理器时,迭代将停止.