Angular 4 - Typescript: json2typescript json key mapper
Angular 4 - Typescript: json2typescript json key mapper
抱歉,我没有解释清楚。我再次编辑我的问题:
我有一个 angular 4 应用程序,我使用 json2typescript 从 json 转换为对象,反之亦然,但我有一个问题,因为我有一个 class 结构和来自外部 api 的响应 json 具有另一种结构。示例:
Customer {
@JsonProperty('idCardNumber', String)
idCardNumber: string = undefined;
@JsonProperty('rolInfo.name',String)
name: string = undefined;
@JsonProperty('rolInfo.surname',String)
surname: string = undefined;
}
外部JsonAPI响应:
{
"idCardNumber": "08989765F",
"rolInfo": {
"name": "John"
"surname: "Smith"
}
}
所以,我想从上面的 json 映射到我的 Customer 对象,而不更改我的结构。我试图将 'rolInfo.name' 放入 Json属性,但这不起作用。
似乎响应 JSON 已经是正确的格式,您不需要进行转换。
我建议创建模型,因为它们允许在进行 API 调用并将响应绑定到该模型时进行序列化和反序列化。
将您的客户 class 更改为如下内容
Customer {
@JsonProperty('idCardNumber', String)
idCardNumber: string = undefined;
@JsonProperty('rolInfo', Any)
rolInfo: any = {}; // if you set this to undefined, handle it in getter/setter
get name(): string {
return this.rolInfo['name'];
}
set name(value: string) {
this.rolInfo['name'] = value;
}
get surname(): string {
return this.rolInfo['surname'];
}
set surname(value: string) {
this.rolInfo['surname'] = value;
}
}
应该这样做
抱歉,我没有解释清楚。我再次编辑我的问题:
我有一个 angular 4 应用程序,我使用 json2typescript 从 json 转换为对象,反之亦然,但我有一个问题,因为我有一个 class 结构和来自外部 api 的响应 json 具有另一种结构。示例:
Customer {
@JsonProperty('idCardNumber', String)
idCardNumber: string = undefined;
@JsonProperty('rolInfo.name',String)
name: string = undefined;
@JsonProperty('rolInfo.surname',String)
surname: string = undefined;
}
外部JsonAPI响应:
{
"idCardNumber": "08989765F",
"rolInfo": {
"name": "John"
"surname: "Smith"
}
}
所以,我想从上面的 json 映射到我的 Customer 对象,而不更改我的结构。我试图将 'rolInfo.name' 放入 Json属性,但这不起作用。
似乎响应 JSON 已经是正确的格式,您不需要进行转换。 我建议创建模型,因为它们允许在进行 API 调用并将响应绑定到该模型时进行序列化和反序列化。
将您的客户 class 更改为如下内容
Customer {
@JsonProperty('idCardNumber', String)
idCardNumber: string = undefined;
@JsonProperty('rolInfo', Any)
rolInfo: any = {}; // if you set this to undefined, handle it in getter/setter
get name(): string {
return this.rolInfo['name'];
}
set name(value: string) {
this.rolInfo['name'] = value;
}
get surname(): string {
return this.rolInfo['surname'];
}
set surname(value: string) {
this.rolInfo['surname'] = value;
}
}
应该这样做