在Angular中将XML API响应转换为JSON

时间:2017-11-08 15:19:00

标签: json xml angular

我从使用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?感谢。

1 个答案:

答案 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});
  }
}