我试图根据字符串属性过滤掉所有对象:
var data = $.parseJSON(valid_json);
data = data.filter(function (el) {
return (el.name == 'myName');
});
这将返回一个空数组,但比较整数有效:
var data = $.parseJSON(valid_json);
data = data.filter(function (el) {
return (el.price == 1000);
});
这将获得price = 1000
的所有对象我做错了什么?
答案 0 :(得分:0)
如果你有一个有效的json,那么你不必解析它来创建一个有效的json。只有当你有一个有效的json字符串时才应该这样做:
var jsonstr = '{"name":"Foo", "price":"1000"}'; // this one needs parsing.
原因是空的数组可能是您指向对象键的错误值,或者您所拥有的对象中没有值。
实际上这对我有用:
var data = [{name:"Foo", price:1000}, {name:"Bar", price:1000}];
data = data.filter(function (el) {
return (el.name == 'Foo');
});
document.body.innerHTML = '<pre>'+ JSON.stringify(data) +'</pre>';
&#13;