如何使用JavaScript过滤嵌套JSON,筛选in_play=true且country=KR的数据
JavaScript 过滤嵌套JSON数据的实现方法
你可以利用JavaScript的Array.filter()方法实现这个过滤需求,以下是具体步骤和代码:
1. 转换JSON格式(如果是字符串)
如果原始数据是JSON字符串,先通过JSON.parse()转成JavaScript对象:
const jsonStr = `{ "status": 200, "errors": [], "pagination": [], "result": [ // 你的数据项 ] }`; const data = JSON.parse(jsonStr);
2. 执行过滤逻辑
针对data.result数组,用filter()筛选符合条件的项:
const filteredResults = data.result.filter(item => { // 用可选链操作符避免championship不存在时报错,同时满足两个条件 return item.in_play === true && item.championship?.country === "KR"; });
3. 保留原数据结构(可选)
如果需要保留原JSON的完整结构(如status、errors等字段),可以生成新对象替换result部分:
const filteredData = { ...data, result: filteredResults }; // 输出过滤后的结果 console.log(filteredData);
代码说明
Array.filter():遍历数组返回符合条件的元素组成的新数组,不会修改原数组item.championship?.country:可选链操作符(ES2020及以上支持),避免championship为null/undefined时抛出错误- 过滤条件:同时满足
in_play值为true,且championship下的country字段等于"KR"
内容的提问来源于stack exchange,提问作者Flavio Barros
相关产品推荐
相关产品推荐

