我从使用XML而不是JSON的API接收数据。到目前为止,我有以下服务连接到API:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class MyService {
private searchURL: string = "http://api.testsite.xml";
constructor(private _http: Http) { }
getData(){
return this._http.get(this.searchURL).map(res => res)
}
}
我在我的组件中订阅它是这样的:
ngOnInit() {
this._service.getData().subscribe(item=> console.log((<any>item)._body));
}
这将返回一个Response对象,其中有一个_body
属性,其中整个XML存储为字符串。如何提取此XML并将其转换为JSON?感谢。
答案 0 :(得分:1)
你可以使用 - xml2json.js 库。在 - Here
找到了这个const result = [], ids = {};
for(const {errorCode, severity} of hardErrorCodes){
if(severity !== "H") continue;
if(ids[errorCode]){
ids[errorCode].count++;
}else{
result.push( ids[errorCode] = { severity, errorCode, count: 1});
}
}