我需要在Angular 4应用程序中调用POST作为REST服务。rest服务在请求体中需要一个JSON。
我使用Angular构建的JSON基于一些用户输入,如下所示
{
"val-type": "prop",
"val-name": "prop1",
"op-ter": "DIFF",
"value": "Unknown",
"match-twice": false,
"case-sensitive": false
}在我的代码中,我将这个json创建为
let jsonSubpart = {
"val-type": userInput.valtype,
"val-name": userInput.valname,
"op-ter": userInput.opter,
"value": userInput.val,
"match-twice": false,
"case-sensitive": false
}我希望我可以为这个结构创建一个模型,以确保json结构得到遵守。因此,我继续创建了一个model.ts文件,如下所示
export class SubPart {
public valType: string;
public valName: string;
public opTer: string;
public value: string;
public matchTwice: boolean = false;
public caseSensitive: boolean = false;
constructor(valType: string, valName: string, opTer: string, value: string,
matchTwice: boolean, caseSensitive: boolean) {
this.valType=valType;
this.valName= valName;
this.opTer=opTer;
this.value = value;
this.matchTwice=matchTwice;
this.caseSensitive = caseSensitive;
}
} 我的想法是在构造json时使用这个模型。
import { Subpart} from './subpart.model.ts';
let jsonSubpart: Subpart = {
"val-type": userInput.valtype,
"val-name": userInput.valname,
"op-ter": userInput.opter,
"value": userInput.val,
"match-twice": false,
"case-sensitive": false
}但是,这不会起作用,因为json中的字段名和类不匹配。因此,angular不会知道val-type与valType相同。我不能将.ts文件中的变量名保留为val类型,因为由于'-‘,它不是有效的变量名。
想听听专家的意见,在这种情况下最好的方法是什么?我是否应该只构造json而不用担心类,或者有没有其他方法来获得这种强类型?
https://stackoverflow.com/questions/44558164
复制相似问题