选择性地返回JSON对象结果

时间:2013-02-20 15:11:28

标签: javascript json jquery

我正在尝试使用以下代码从标准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。有人可以帮忙吗?

感谢。

1 个答案:

答案 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中。