如何从 Angular 9 中的 GET 请求读取 JSON 对象响应?

我有一个GET返回以下 JSON 对象请求:

{
    "success": true,
    "timestamp": 1591353365,
    "base": "EUR",
    "date": "2020-06-05",
    "rates": {
        "AED": 4.16005,
        "AFN": 85.969034,
        "ALL": 124.045327,
        "AMD": 540.380668,
        "ANG": 2.009928,
    }
}

为了以角度获取此响应,我有一个使用 API 来检索此对象的服务http.get()

import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";

@Injectable({
  providedIn: 'root'
})
export class ForexService {

  api_key = 'my personal key' //Can't give away the key

  constructor(private _http: HttpClient) { }

  latestRates() {
    return this._http.get('http://data.fixer.io/api/latest?access_key='+this.api_key);
  }
}

我有一个订阅此服务可观察的组件文件:

import { Component, OnInit } from '@angular/core';
import { ForexService } from "../forex.service";

@Component({
  selector: 'app-forexapi',
  templateUrl: './forexapi.component.html',
  styleUrls: ['./forexapi.component.css']
})
export class ForexapiComponent implements OnInit {

  data:Array<any>;
  constructor(private forex: ForexService) {
    console.log('Forex component constructor called');
  }

  ngOnInit(): void {
    this.forex.latestRates().subscribe(data => this.data = data);
    }
  }

当我这样做时,我得到的错误是 The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?

如何从此 JSON 对象检索数据?rates发明的又一目的,是可变长度的。我似乎无法检索该数据。

显然,这是一个异步回复,因此可以使用 async-wait 方法解决。

这就是我在服务中更改代码的方式:

latestRates(base: string = "USD"): Promise<any> {
    //return this._http.get('http://data.fixer.io/api/latest? access_key='+this.api_key+'&base='+base).toPromise();
    return this._http.get('https://api.exchangeratesapi.io/latest?base='+base).toPromise();
  }

接收函数如下所示:

data:any;
async requestData(base) {
    this.data = await this.forex.latestRates(base);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从详细信息页面Angular 9中的单个对象(本地JSON)获取详细信息

如何从Python请求中读取响应?

如何在Golang中从HTTP GET请求发送JSON响应?

限制对HTTP GET请求的响应中读取的数据量

无法读取Java中HTTPS GET请求的任何响应

Node.js如何从请求中读取json数据?

Angular 2 Http get-从响应中解析JSON对象

如何从get请求中获取json响应而不是html响应?

如何从Angular 6的[对象对象],[对象对象]中的JSON响应访问值

如何从Angular中的HTTP请求返回JSON响应的特定属性?

Python:如何从请求响应中读取Excel文件?

如何读取包含用户定义类的对象数组的JSON响应?

如何读取在Base64中编码的值的JSON请求/响应

用PHP中的json对象响应http获取请求

如何在PHP中读取GET和POST请求(post在json中)

如何在Unity中读取JSON响应?

如何从json响应中获取子对象

无法读取Angular中的JSON响应

当响应类型为arraybuffer时,如何从HTTP get方法读取Angular JS中的RAW JSON?

在php / js中读取JSON响应对象

(Angular JS)如果响应是JSON对象数组,如何通过传递参数过滤$ http.get?

如何使用nodejs读取请求中的动态json

对象 http 请求中的 Angular JSON 对象

如何读取响应 HTTP 请求而收到的 angular4 中的 protobuf 对象

如何在 RXJS Angular 5 中观察没有特定名称的响应 JSON 中的对象

如何在 angular http.get 中从 json-server 读取 X-Total-Count

Angular 9:从 HTTP get 读取 JSON

如何解析angular9中的嵌套对象数组

从 Java 中的 POST 请求中读取 JSON 对象