我有一个 JSON 序列化集合:
[
{
"_id":"person1",
"date":"7/20/2014 17:20:09",
"listed_name":"Tom",
"name":"Tom",
"contact_info":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="33475c5e73545e525a5f1d505c5e" rel="noreferrer noopener nofollow">[email protected]</a>"
},
{
"_id":"person2",
"date":"7/20/2014 17:20:09",
"listed_name":"Jane",
"name":"Jane",
"contact_info":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b5e5d0c7c6dadb87f5d2d8d4dcd99bd6dad8" rel="noreferrer noopener nofollow">[email protected]</a>"
},
{
"_id":"person3",
"date":"7/20/2014 17:20:09",
"listed_name":"John",
"name":"John",
"contact_info":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="12427760617d7c2152757f737b7e3c717d7f" rel="noreferrer noopener nofollow">[email protected]</a>"
}
]
以及来自另一个页面的属性名称信息...
["_id", "date", "listed_name"]
问题是...
使用 JavaScript,如何使用第二个数组作为过滤器以仅返回第二个数组中包含的列?
例如:使用这个数组["_id"]
...这个数组如何用于只显示所有JSON对象的_id
数据而不显示日期
、listed_name
、名称
等...?
使用 ["_id"]
数组作为过滤器,预期的控制台输出应如下所示:
person1
person2
person3
最佳答案
假设您将传入的 JSON 放在变量中。
var parsedJSON = JSON.parse(inputJSON)
var filterArray = ["_id", "date"]
for (var i = 0; i < parsedJSON.length; ++i) {
for (var filterItem in filterArray) {
console.log(parsedJSON[i][filterArray[filterItem]])
}
}
关于javascript - 在 JavaScript 中按属性过滤 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496010/