我正在尝试使用以下代码从标准JSON文件中选择性地返回结果:
var filters = { manufacturer: "Samsung" };
// filters initialised, now getJSON with filters
$.getJSON("phones.json", filters, function(result)
{
alert(result.phones.length);
}); // end getJSON
我想要做的只是返回“制造商”是三星的对象。 JSON看起来像这样:
{
"phones": [{
"basic": {
"id" : "1",
"name": "Samsung Galaxy S III",
"manufacturer": "Samsung",
等等......
它不起作用,它根本不过滤JSON。有人可以帮忙吗?
感谢。
答案 0 :(得分:1)
$.getJSON()
不支持过滤,因此假设您的phones.json
是一个没有服务器端处理的静态文件,您必须在客户端进行过滤:
$.getJSON("phones.json", function(result)
{
var filtered = [];
$.each(result.phones, function(key, value){
if(value.basic.manufacturer == 'Samsung'){
filtered.push(value);
}
});
console.log(filtered);
});
以上将过滤后的手机存储在filtered
中。