[
[{
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20170906
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20170921
},
"metrics": {
"visits": 2
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20170929
},
" metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20171004
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20171010
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": " /",
"date": 20171018
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20171020
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20171030
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linke din.com",
"pagePath": "/",
"date": 20171112
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20171123
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180106
},
"metrics": {
"visits": 1
}
}, {
"dimensi ons": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180119
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180120
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180124
},
"metrics": {
" visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180126
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180209
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180212
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180216
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180217
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"p agePath": "/",
"date": 20180223
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "linkedin.com",
"pagePath": "/",
"date": 20180308
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": "lnkd.in",
"pagePath": "/",
"date": 20171007
},
"metrics": {
"visits": 1
}
}, {
"dimensions": {
"source": " lnkd.in",
"pagePath": "/",
"date": 20171120
},
"metrics": {
"visits": 1
}
}]
]
我从多个来源和页面中得到了超过一万行的json,就像您在上面的示例中所看到的那样。
我想要的结果是这样的:
{
"dimensions": {
"source": "linkedin.com",
"pagePath": "/"
},
"metrics": [{
"visits": 1,
"date": 20171205
}, {
"visits": 10,
"date": 20171205
}, {
"visits": 8,
"date": 20171205
}, {
"visits": 6,
"date": 20171205
}, {
"visits": 5,
"date": 20171205
}, {
"visits": 3,
"date": 20171205
}]
}
实现此目标的最佳方法是什么?我看了很多例子,但不知何故我还是不明白。我的问题是,当我使用JSON.Parse()之类的东西来转换1个对象时。我获得了1个指标(访问次数+日期)的数组的多个对象,而不是1个对象的1个指标(访问次数+日期)的数组。
答案 0 :(得分:2)
您可以使用Array.filter方法
var result = jsonObject.filter(item => {
return item.dimensions.source == 'linkedin.com' //any condtion you can give
})
答案 1 :(得分:1)
就像另一个建议的海报(我对答案做了些微调整),您可以尝试使用Array.filter
,
var filtered_result = jsonObj.filter(function (item, index) {
return item[index].dimensions.source == 'linkedin.com'
});
希望这会有所帮助!