gpt4 book ai didi

angular - 将 http 响应映射到 typeScript 对象

转载 作者:行者123 更新时间:2023-12-02 02:54:17 26 4
gpt4 key购买 nike

我正在尝试将 API 响应(json 字符串数组)转换为 typescript 对象,但无法实现 .我尝试添加 map 功能,但无法正常使用。

示例 API 响应是 ["Paris","London","New York"]

我的City类是这样的

export class City { Name:string; 
isAvailable: boolean;
}

我的功能

public getCities(queryId: string) : Observable<City[]> {
const url = apiUrl;

const response = this.http.get<string[]>(url)
.pipe(catchError(this.handleError));
//how can i add map method here to convert String to City object?

return response;

}

我期望这样的输出

[
{Name:"Paris",isAvailable:true},
{Name:"London",isAvailable:true},
{Name:"New York",isAvailable:true}
]

最佳答案

如果您希望在 RxJS 管道中处理此问题,您可以这样做。我们使用 RxJS map运算符将响应转换为 City 对象数组。

public getCities(queryId: string) : Observable<City[]> {
const url = apiUrl;

return this.http.get<string[]>(url)
.pipe(
map((res) = {
return res.map(name => ({
Name: name,
isAvailable: true,
});
}),
catchError(this.handleError));
}

关于angular - 将 http 响应映射到 typeScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61415261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com