http请求的角度接口:JSON密钥并非始终相同

时间:2018-11-19 03:07:46

标签: angular angular-httpclient

我正在向一个返回JSON的API发出请求,但是密钥并不总是一致的,但是我确实知道它将基于输入参数。我是Angular HttpClient工作原理的新手。 我正在尝试建立这样的界面:

我有我的职能:

convert(amount: number, fromCurrency: string, targetCurrency: number): number

我希望我的界面像这样:

interface UserResponse {
    fromCurrency + "_" + targetCurrency: string  

}

这显然行不通,但是我希望我要实现的目标能够通过我的逻辑。

编辑:这是我要使用的API: https://www.currencyconverterapi.com/docs

1 个答案:

答案 0 :(得分:0)

首先,您在打字稿运行时无法达到目的。

如果您不知道对象键的名称,则可以使用Index Signatures

这可能与您的问题不太紧密。但这是另一种方式

实现“动态键类型”

例如

interface Foo {
  [key:string]: number
}

let foo: Foo = {x:1,y:2,..and what ever number type property};

您还可以先定义所有类型:

type Index = 'USD_PHP' | 'b' | 'c'
type FromIndex = { [k in Index]?: number }

您可以通过查看此Typescript deep dive

了解更多信息