[英]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>';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.