有选择地返回JSON对象结果

Selectively returning JSON object results

本文关键字:对象 结果 JSON 返回 选择地      更新时间:2023-09-26

我正在尝试使用以下代码选择性地从标准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);
});

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