使用JavaScript过滤字符串属性上的JSON
Filtering JSON on string attribute with JavaScript
我正试图根据以下字符串属性过滤掉所有对象:
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>';
相关文章:
- 正在打印JSON属性
- 如何将返回一串数字的 JSON 属性转换为日期
- 如何在 JSF 中将 JS 函数作为 JSON 属性传递给前端
- 使用循环更新 JSON 属性值
- 获取json属性duktape
- 正在创建JSON属性
- 当鼠标悬停在一行上时,哪个plot.ly json属性可以显示所有悬停数据
- 访问等于 javascript 中特定值的 JSON 属性
- 具有嵌套 json 属性的行
- 对 JSON 属性进行分组和合并
- 将参数作为引用传递以获取 JSON 属性
- 基于 JSON 属性的角度 img 开关
- 使用变量访问 JSON 属性(字符串)
- 如何获取基于另一个属性的 JSON 属性
- 如何在解析时更改 JSON 属性名称
- 角度 ng-grid:如何访问以递增整数命名的 json 属性
- 返回 JSON 属性
- Nodejs JSON 属性未定义
- Angularjs 如何将 json 属性(Set 或数组)绑定到动态输入表单
- 无法动态获取正确的 json 属性