gpt4 book ai didi

json - 如何将 JSON 响应映射到 Angular 4 中的模型

转载 作者:行者123 更新时间:2023-12-03 23:22:13 30 4
gpt4 key购买 nike

我已经尝试了很多,但我无法将端点响应映射到我的模型。我正在使用 HttpClient 和 Angular4。
我从服务中取回了数据,但它没有正确映射到我的模型类。

我有以下 JSON 服务正在返回:

{
"result": [
{
"id": "1",
"type": "User",
"contactinfo": {
"zipcode": 1111,
"name": "username"
}
}
]
}

我在 typescript 中创建了一个模型,我想将其映射到 json 响应:
export interface result {
zipcode: number;
name: string;
}

这就是我调用 JSON 端点的方式。
result : string[] = [];

constructor(private http: HttpClient) { }

public getList(): result[] {
this.http.get<result[]>('url...', { headers: this.headers }).subscribe(

data => {
// 1. Data is returned - Working
console.log('data: ' + data);
this.result= data;

// This is the problem. My data is not mapped to my model. If I do following a null is returned
console.log('data mapped: ' + this.result[0].name);
},
(err: HttpErrorResponse) => {
// log error
}
);

return this.result;
}

最佳答案

您需要在组件中导入接口(interface),

import { result } from '.result';

你的界面应该是这样的,
interface RootObject {
result: Result[];
}

interface Result {
id: string;
type: string;
contactinfo: Contactinfo;
}

interface Contactinfo {
zipcode: number;
name: string;
}

并将结果类型更改为,
result : result;

并将结果分配为,
this.result = data;

您可以使用 http://www.jsontots.com/创建基于 JSON 的接口(interface)

关于json - 如何将 JSON 响应映射到 Angular 4 中的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48277372/

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