仅使用特定标志从json返回条目

时间:2011-05-24 09:51:37

标签: javascript json

我正试图从json中获取结果。说我有20种水果类型,但结果中只有3种水果类型有price=free。我怎样才能返回价格=免费结果?

这就是我正在做什么来返回结果..

fruits.payload.entries[count].name

我想获得具有price=free

的水果的名称

3 个答案:

答案 0 :(得分:0)

$(results).filter(function(){
   return this.price == "free"
});

答案 1 :(得分:0)

你可能想尝试json:select() - “类似JSON的CSS选择器”http://jsonselect.org/

答案 2 :(得分:0)

如果与您交谈的服务不支持该查询,那么您必须自行过滤它们。

为了完整性,这里是无框架样式循环:

var i, len, a, freeOnly = [], item;
a = fruits.payload.entries;

for( i = 0, len = a.length; i < len; i ++){
     item = a[i];
     if( item.price === 'free' ){
         freeOnly.push(item);
     }
} 

对于免费项目名称,您可以这样做:

function freeItemNames(items){
    var i, len, freeNames = [], item;


    for( i = 0, len = items.length; i < len; i ++){
         item = items[i];
         if( item.price === 'free' ){
             freeNames.push(item.name);
         }
    } 
    return freeNames;
}

// call like this
freeItemNames(fruits.payload.entries);

// should output something like
["Free fruit 1","Fruity two"]