从javascript中获取Json数组的值?

时间:2012-07-12 13:12:09

标签: javascript asp.net json

我创建JSON数组,如名称jarray

它有id和相应的值。

我有另一个变量arr

现在,我如何使用id。

从json数组中获取值的值

这意味着我需要使用var jarray检查id=04

如果我发现04我需要像苹果这样的特定ID的值作为输出。

如何在Json数组中使用If条件?

var jarray=[{"id":"04","value":"Apple"},{"id":"13","value":"orange"}];
var id=04;

4 个答案:

答案 0 :(得分:1)

这将返回id为“04”的所有项目的数组:

var matches = jarray.filter(function(a){return a.id==id;});

如果您确定只有一个,则可以matches[0];

请注意,这适用于"04"04提供的ID。

为确保与旧浏览器(可能没有过滤功能)兼容,请参阅this

答案 1 :(得分:0)

var i=0;
while(i<jarray.length) {
  if(jarray[i].id==id) {
    var val=jarray[i].value;
    break;
  }
}

答案 2 :(得分:0)

您可以使用Underscore's _.find` method之类的内容,也可以编写自己的内容,这可能更适合您的情况:

function findId(id, arr, member) {
  for(i in arr) {
    // You could use === here depending on your needs
    if(arr[i]['id'] == id) {
      return member === undefined ? arr[i] : arr[i][member];
    }
  }
  return false;
}
findId('04', jarray, 'value'); // Apple

答案 3 :(得分:0)

像这样:

for (i=0;i<jarray.length;i++)
    {
        var tempValue = jarray[i];
        if (tempValue["id"] == id)
            alert( "value is : " + tempValue["value"] );
    }