Angular null正在转换为“空”;空";在5 HTTP get请求中

Angular null正在转换为“空”;空";在5 HTTP get请求中,angular,typescript,angular5,Angular,Typescript,Angular5,我目前正在将我们的应用程序从Angular 4迁移到Angular 5。在Angular 5中,当我们将对象模型作为参数发送时,如果其中一个值为null,则它将转换为“null”字符串。这给我们带来了问题。以下是参数的设置方式: options = { headers: header, params: Object.getOwnPropertyNames(jsonParamObject) .reduce((p, key) =

我目前正在将我们的应用程序从Angular 4迁移到Angular 5。在Angular 5中,当我们将对象模型作为参数发送时,如果其中一个值为null,则它将转换为“null”字符串。这给我们带来了问题。以下是参数的设置方式:

options = {
                headers: header, params: Object.getOwnPropertyNames(jsonParamObject)
                    .reduce((p, key) => p.set(key, jsonParamObject[key]), new HttpParams())
            };

在上面的代码中,我们使用的是这个方法的调用者发送的“jsonParamObject”。此对象将具有任意数量的值。因此,如果对象有一个值为null,并且当我们发出http请求时,null值将转换为“null”字符串。请告诉我如何避免这种情况,或者是否有其他选择。其中一种选择是使用“0”而不是null,但这需要在我们的应用程序中进行大量代码更改,因此我正在寻找一种更简单/更好的方法。

我对对象中的属性也有同样的问题。 此属性称为
parent\u id
,对象称为
dataObj

为了解决这个问题,我使用了以下方法

this.dataObj.parent_id = this.dataObj.parent_id == 'null' ? null : this.dataObj.parent_id;

我遇到了同样的问题,我试图从客户端传递字符串。当我传递空字符串时,它总是被转换为“null”


我没有传递空字符串,而是传递了一个空字符串(“”),它起作用了。

代码太多了!只需使用
{params:jsonParamObject}
@AluanHaddad:Yes我尝试过直接使用jsonParamObject,但它给出了相同的错误。所以这不是我们传递参数的方式。值正在自动转换为空字符串。@Valla在设置
{params:jsonParamObject}
@Niladri:Yes之前,您可以将对象属性中的
null
值替换为“0”。但是这需要很多改变,所以我想知道这是否是唯一的方法,或者我是否可以在客户端做一些改变来帮助我解决问题。