簡體   English   中英

使用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>'; 

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM