这是我正在使用的JSON:
https://data.cityofnewyork.us/resource/xx67-kt59.json?$其中= CAMIS%20 =%2230112340%22
我会动态地使用不同的数据进行查询,因此它可能会发生变化。
我实际上要做的是以某种方式将这个数组中的元素组织成基于inspection_date的不同数组。
因此,对于每个唯一的inspection_date值,这些相应的检查将被放入其自己的集合中。
我的最终目标是能够在网页上使用Angular 5显示每组检查(基于检查日期)。我已经启动了网站,并且正在进行所有请求。
所以,我试图最终得到这样的东西。但当然,使用请求的响应中的任何日期。
2016-10-03T00:00:00
列出检查
2016-04-30T00:00:00
列出检查
2016-04-12T00:00:00
列出检查
仅供参考,以下是我使用的代码:
ngOnInit() {
this.route.params.subscribe(params => {
this.title = +params['camis']; // (+) converts string 'id' to a number
this.q.getInpectionsPerCamis(this.title).subscribe((res) => {
this.inspectionList = res;
console.log(res);
});
// In a real app: dispatch action to load the details here.
});
}
我希望我能为您提供更多信息,但此时此刻,我只是想开始使用。
答案 0 :(得分:1)
我在jQuery中写这个只是因为它对我来说更快,但它应该很好地转换为Angular(我现在不想用一个有角度的应用程序)
如果您有任何问题,请与我们联系。
$(function() {
let byDateObj = {};
$.ajax({
url: 'https://data.cityofnewyork.us/resource/xx67-kt59.json?$where=camis%20=%2230112340%22'
}).then(function(data) {
//probably do a check to make sure the data is an array, im gonna skip that
byDateObj = data.reduce(function(cum, cur) {
if (!cum.hasOwnProperty(cur.inspection_date)) cum[cur.inspection_date] = [];
//if the cumulative array doesn't have the inspection property already, add it as an empty array
cum[cur.inspection_date].push(cur);
//push to inspection_date array.
return cum;
//return cumulatie object
}, byDateObj);
//start with an empty object by default;
console.log(byDateObj);
}, console.error);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;