我正在尝试搜索下面的 Yodlee JSON 数据源,例如,如果关键字是“家具”,则仅显示等于“家具交易”的“plainTextDescription”
不太确定如何使用 JQuery 通过嵌套 JSON 结果集进行 grep...
///原始 YODLEE JSON 结果
提前致谢!
最佳答案
这是Fiddle .
简短的版本是这样的:
var data = JSON.stringify({ "Body": [{...my obscenely long JSON}] });
var parsedData = JSON.parse(data);
var transactions = [];
// processes account objects
function processAccount(account) {
if (account.cardTransactions) {
for (var i = 0; i < account.cardTransactions.length; i++) {
var transaction = account.cardTransactions[i];
if (transaction) {
if (transaction.categorizationKeyword.toLowerCase() === 'shell oil') {
transactions.push(transaction);
}
}
}
}
}
// processes the itemData objects
function processItemData(itemData) {
for (var i = 0; i < itemData.accounts.length; i++) {
processAccount(itemData.accounts[i]);
}
}
(function() {
// iterates through elements in the body
for (var i = 0; i < parsedData.Body.length; i++) {
processItemData(parsedData.Body[i].itemData);
}
for (var j = 0; j < transactions.length; j++) {
$('#container').append('<p>' + transactions[j].plainTextDescription + '</p>');
}
})();
我将这些位分解为多个函数以便于阅读,但可以将其重新分解以使其不那么冗长。
关于javascript - 使用关键字搜索 JSON 结果集并仅返回匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24682288/