我试图根据这样的字符串属性过滤掉所有对象:
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);
});
这将获取价格 = 1000 的所有对象
我做错了什么?
最佳答案
如果您有有效的 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>';
关于javascript - 使用 JavaScript 过滤字符串属性上的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362514/