0

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

谢谢。

4

1 回答 1

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.

于 2013-02-20T15:34:05.457 回答