Javascript 有选择地返回JSON对象结果

Javascript 有选择地返回JSON对象结果,javascript,json,jquery,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 我想做的是只返回“制造商”是三星的对象。JSO

我尝试使用以下代码有选择地从标准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。有人能帮忙吗

谢谢。

$.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);
});

以上内容将过滤后的手机存储在
过滤后的

除了在服务器端执行之外,我看不到其他方法。i、 e.如果您只想传输过滤后的数据。如果您可以传输整个内容,然后在客户端进行过滤,那么您可以完全用JS完成。//过滤器已初始化,现在使用过滤器$.getJSON(“phones.json”,function(result){var matchedPhones=new Array();$.each(result,function(k,v){for(var i=0;iNo.Poth.Field.I++){//手动测试IF(V[i] .Basic .Muffic===“三星”){/ /将该电话存储在我们的新对象MateldPhone中。PUP(V[i]);}……@ CordNeNut看起来不错。如果这解决了,请考虑接受答案,请参见: