我使用node.js从外部api接收数百个json格式的数据对象,如下所示:

[
{
"ID": "6548532",
"Status": "active",
"Updated": "2014-11-24T07:32:04-07:00",
"created": "2014-09-15T19:42:37-07:00",
"URL": "www.example.com",
"Categories": [
  "cat-a",
  "cat-b"
],
"Price": "10.00"
},
{
"ID": "8558455",
"Status": "inactive",
"Updated": "2014-10-24T07:32:04-07:00",
"created": "2014-09-15T19:42:37-07:00",
"URL": "www.example.com",
"Categories": [
  "cat-c",
  "cat-r"
],
"Price": "20.00"
}
....
]

我想分离这些对象,以便只将"Status": "active"的对象写入我的数据库。我知道在使用JSON.parse之前可以使用字符串操作来完成这项工作,但我想知道是否有更好的方法将json文件拆分为它包含的对象,并将它们保留在一个数组中,然后我可以对其进行处理。

最佳答案

将json解析为javascript对象后,可以使用filter函数删除"Status"不等于"active"的元素:

var responseArray = JSON.parse(responseData),
    filteredArray = responseArray.filter(
       function (obj) {
          return obj.Status == "active";
       });

// Use filteredArray

10-07 19:38
查看更多