我正试图从json中获取结果。说我有20种水果类型,但结果中只有3种水果类型有price=free
。我怎样才能返回价格=免费结果?
这就是我正在做什么来返回结果..
fruits.payload.entries[count].name
我想获得具有price=free
答案 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"]