如何迭代json响应以查找value
。我有这个函数getObjects
来遍历响应json obj
和密钥,即swaggerDefSplit
(api / user)。
getObjects(obj, key) {
var objects = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
var val = obj[i];
objects.push(val);
}
}
return objects;
}
getSwagger() {
this._searchService.getSwagger()
.subscribe(data => {
// data = json response
console.log(data.paths);
let swaggerFullUrl = (<any>window).parent.swaggerURL;
let hashSplit = swaggerFullUrl.split('#');
let swaggerDefSplit = hashSplit[1].split('/');
// debugger;
var exist = this.getObjects(data, "/api/"+swaggerDefSplit[1]);
console.log(exist[4]);
},
err => {
console.log('err', err);
}
);
}
这console.log(exist[4]);
给了我api/paths
{}},但我期待的是给我api/path
相对于我的swaggerSplit
说(用户),例如给了我每一条路。
json响应我从console.log获得:
/api/User:{} // map this instead of everything
/api/Items:{}
/api/Stocks:{}
希望我有意义。