javascript - ajax获取到json数据后,如何筛选json满足特定值的对象??

查看:161
本文介绍了javascript - ajax获取到json数据后,如何筛选json满足特定值的对象??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

[
    {
        "province":"广东",
        "item":[
            {
                "ID":"1",
                "province_id":"7",
                "title":"广东小吃 好吃真好吃",
                "imgUrl":"http://xxxx/images/item/7_001.jpg",
                "link":"https://xxxxxxxxx"
            },
            {
                "ID":"2",
                "province_id":"7",
                "title":"广东炒饭 香喷喷爱上",
                "imgUrl":"http://xxxx/images/item/7_001.jpg",
                "link":"https://xxxxxxxxx"
            }
        ]
    },
    {
        "province":"江西",
        "item":[
            {
                "ID":"1",
                "province_id":"8",
                "title":"江西小吃 好吃不上火",
                "imgUrl":"http://xxxx/images/item/7_001.jpg",
                "link":"https://xxxxxxxxx"
            },
            {
                "ID":"2",
                "province_id":"8",
                "title":"江西炒饭 香喷喷",
                "imgUrl":"http://xxxx/images/item/7_001.jpg",
                "link":"https://xxxxxxxxx"
            }
        ]
    },
    {
        "province":"广西",
        "item":[
            {
                "ID":"1",
                "province_id":"9",
                "title":"优质酱卤牛肉",
                "imgUrl":"http://xxxx/images/item/7_001.jpg",
                "link":"https://xxxxxxxxx"
            },
            {
                "ID":"2",
                "province_id":"9",
                "title":"农家自制豆制品豆干豆腐",
                "imgUrl":"http://xxxx/images/item/7_001.jpg",
                "link":"https://xxxxxxxxx"
            }
        ]
    }
]

如上面是ajax获取到的json数据,我想要找到title="炒饭"(模糊搜索)所在的对象(符合条件的对象可能不止一个,只要符合都找出来),结果为:

{
    "ID":"2",
    "province_id":"7",
    "title":"广东炒饭 香喷喷爱上",
    "imgUrl":"http://xxxx/images/item/7_001.jpg",
    "link":"https://xxxxxxxxx"
},
{
    "ID":"2",
    "province_id":"8",
    "title":"江西炒饭 香喷喷",
    "imgUrl":"http://xxxx/images/item/7_001.jpg",
    "link":"https://xxxxxxxxx"
}

js白痴一枚,求大神指导,我能无耻的求一份demo吗?再不济也请告诉我一下如何实现的思路好么?还有两天,做不出来就完蛋了,跪求!

解决方案


var oJson = [{
    "province": "广东",
    "item": [{
        "ID": "1",
        "province_id": "7",
        "title": "广东小吃 好吃真好吃",
        "imgUrl": "http://xxxx/images/item/7_001.jpg",
        "link": "https://xxxxxxxxx"
    }, {
        "ID": "2",
        "province_id": "7",
        "title": "广东炒饭 香喷喷爱上",
        "imgUrl": "http://xxxx/images/item/7_001.jpg",
        "link": "https://xxxxxxxxx"
    }]
}, {
    "province": "江西",
    "item": [{
        "ID": "1",
        "province_id": "8",
        "title": "江西小吃 好吃不上火",
        "imgUrl": "http://xxxx/images/item/7_001.jpg",
        "link": "https://xxxxxxxxx"
    }, {
        "ID": "2",
        "province_id": "8",
        "title": "江西炒饭 香喷喷",
        "imgUrl": "http://xxxx/images/item/7_001.jpg",
        "link": "https://xxxxxxxxx"
    }]
}, {
    "province": "广西",
    "item": [{
        "ID": "1",
        "province_id": "9",
        "title": "优质酱卤牛肉",
        "imgUrl": "http://xxxx/images/item/7_001.jpg",
        "link": "https://xxxxxxxxx"
    }, {
        "ID": "2",
        "province_id": "9",
        "title": "农家自制豆制品豆干豆腐",
        "imgUrl": "http://xxxx/images/item/7_001.jpg",
        "link": "https://xxxxxxxxx"
    }]
}];


var aSearch = [];
oJson.forEach(function(ele){//循环外层数组
    var aTemp = ele.item.filter(function(i){ 
        return i.title.includes('炒饭'); // 过滤符合要求的item数组
    });
    aSearch = aSearch.concat(aTemp); // 将符合要求的数组合并到aSearch;
});
console.log(aSearch);

这篇关于javascript - ajax获取到json数据后,如何筛选json满足特定值的对象??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆