假设我创建一个对象如下:
var myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI",
"regex": "^http://.*"
};
Run Code Online (Sandbox Code Playgroud)
什么是去除财产的最好方式regex与新落得myObject如下?
var myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI"
};
Run Code Online (Sandbox Code Playgroud) 我在TypeScript中使用getter/setter访问器.由于变量和方法不可能具有相同的名称,因此我开始使用较低的短划线为变量添加前缀,如许多示例所示:
private _major: number;
get major(): number {
return this._major;
}
set major(major: number) {
this._major = major;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我使用JSON.stringify()方法将对象转换为JSON字符串时,它将使用变量名作为键:_major.
由于我不希望JSON文件的所有键都以下划线作为前缀,因此有可能使TypeScript使用getter方法的名称(如果可用)吗?或者是否有其他方法可以使用getter/setter方法,但仍然可以生成干净的JSON输出?
我知道有些方法可以在将JSON密钥写入字符串输出之前手动修改它们.如果有更简单的解决方案,我很好奇.
这是一个JSFiddle,它演示了当前的行为.
我有这门课:
export class TblColabAdmin {
snomatrcompl: string;
nflativo: number;
ativo: boolean;
}
Run Code Online (Sandbox Code Playgroud)
我的Web服务实体中不存在属性ativo,因此我想避免将其添加到JSON中.
例如,在Java中,我们有@JsonIgnore注释.在TypeScript中是否存在类似的东西?
嘿,我有一个像这样的数组对象
[{
public: "public",
private: "private",
[{
properties: {...
},
instance: {.....
}
}, {...
}, {...
}]
}, {...
}, {....
}]
Run Code Online (Sandbox Code Playgroud)
在这里,最外面的数组包含类A的对象,该对象具有一些公共道具,一些私有对象,并且还包含一个包含类B的对象的数组,该对象还包含一些公共字段和私有字段。
所以基本上这是我的等级制度
array = [A1,A2,A3,A4,....]//object of A
var A = function(){
var Const = function(){
this.public_prop;
this.private_prop;
this.list = [B1,B2,B3,B4]// objects of B
}
//.........
return Const;
}();
var B = function(){
var Const = function(){
this.public_prop;
this.private_prop;
}
//.........
return Const;
}();
Run Code Online (Sandbox Code Playgroud)
现在在进行字符串化(序列化)时,我只想在序列化字符串中包含public prop和数组。
例如对于上述JSON表示,我想要这样的东西
[{
public: "public",
[{
properties: {...
}
}, {...
}, {... …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有一个接口,用于维护我想要发送到我的数据库的属性,以及我不想发送的属性。
具体来说,我维护了一个名为的属性state,该属性可以设置为open或null(关闭),然后触发 Angular2 的动画状态函数。我在*ngFor列表中使用它来打开关闭有关该项目的信息面板。
但是,我不想将 state 的值存储在我的数据库中,因为它始终默认为null. 目前,我将整个对象传递给 http 调用,以便state也发送该属性。我怎样才能忽略它?
pushItemToDay(item: any, dateStr: Date): void {
let body = JSON.stringify(item);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post(this.baseURL + 'api/addItem/' + dateStr, body, options)
.toPromise()
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)