我目前正致力于将我们的应用程序从Angular 4迁移到Angular 5.在Angular 5中,当我们将对象模型作为参数发送时,如果其中一个值为null,则它将转换为" null&#34 ;串。这给我们带来了问题。以下是设置参数的方式:
options = {
headers: header, params: Object.getOwnPropertyNames(jsonParamObject)
.reduce((p, key) => p.set(key, jsonParamObject[key]), new HttpParams())
};
在上面的代码中,我们正在使用' jsonParamObject'这是由这种方法的调用者发送的。该对象具有任意数量的值。因此,如果对象的值为null,并且当我们发出http请求时,值null将转换为" null"串。能告诉我这是如何避免的,或者是否有其他选择。其中一种选择是使用" 0"而不是null,但这需要在我们的应用程序中进行大量的代码更改,所以我一直在寻找一种更简单/更好的方法。
答案 0 :(得分:0)
我对对象中的属性有同样的问题。
此属性称为parent_id
,而对象称为dataObj
。
要解决此问题,我使用了以下内容?
this.dataObj.parent_id = this.dataObj.parent_id == 'null' ? null : this.dataObj.parent_id;
答案 1 :(得分:0)
我在尝试从客户端传递字符串时遇到了同样的问题。当我传递一个空字符串时,它总是会转换为“空”。
我传递了一个有效的空字符串(“”),而不是传递空字符串。