相关疑难解决方法(0)

如何从JavaScript对象中删除属性?

假设我创建一个对象如下:

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)

javascript object-properties javascript-objects

5813
推荐指数
39
解决办法
208万
查看次数

将JSON.stringify与TypeScript getter/setter结合使用

我在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,它演示了当前的行为.

json getter-setter typescript

12
推荐指数
3
解决办法
6012
查看次数

如何在向Web服务发送JSON时忽略TypeScript中的实体字段?

我有这门课:

export class TblColabAdmin {
    snomatrcompl: string;
    nflativo: number;
    ativo: boolean;
}
Run Code Online (Sandbox Code Playgroud)

我的Web服务实体中不存在属性ativo,因此我想避免将其添加到JSON中.

例如,在Java中,我们有@JsonIgnore注释.在TypeScript中是否存在类似的东西?

json typescript angular

6
推荐指数
1
解决办法
7525
查看次数

在对数组对象进行json字符串化时排除对象属性

嘿,我有一个像这样的数组对象

[{
    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)

javascript serialization json stringify

3
推荐指数
2
解决办法
5825
查看次数

如何忽略通过 http 发送的属性

我的应用程序中有一个接口,用于维护我想要发送到我的数据库的属性,以及我不想发送的属性。

具体来说,我维护了一个名为的属性state,该属性可以设置为opennull(关闭),然后触发 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)

http typescript angular

3
推荐指数
1
解决办法
3006
查看次数