我有一个问题,你能帮帮我吗? 我有一个 json 数组:
"category" : [
{
id: 1,
product: [{id : product_1, type : ball}]
},
{
id : 2,
product :[{id : product_2, type : pen}]
}
]
我的问题是:如果我有一个链接,例如:http://test/category/1那么,如何获取id=1的商品分类信息呢? 感谢您的任何建议:)
最佳答案
这是一种无需使用 for 就可以在一行中完成的方法:
function filterById(jsonObject, id) {return jsonObject.filter(function(jsonObject) {return (jsonObject['id'] == id);})[0];}
然后如果你想得到,比如id=2的对象,你只需要使用:
var selectedObject = filterById(yourJson['category'], 2);
然后 selectedObject 将根据您的示例获得此值:
{
id : 2,
product :[{id : product_2, type : pen}]
}
有一个缺点:旧浏览器,如 IE8,不支持 filter() 所以你需要添加这个 polyfill 代码来兼容旧浏览器: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#Polyfill
关于javascript - 如何通过ID获取json数组中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8163859/