如何让 Angular JSON 序列化程序忽略空值?

How to get Angular JSON serializer to ignore null values?

我有一个使用 HttpClient 发送的对象,它可能有一些空属性。我想知道 Angular 中是否有任何内置解决方案可确保不序列化 null 属性。

我们以这个模型为例:

export class Dummy {
  public constructor(
    public readonly foo: string,
    public readonly bar: string
  ) { }
}

而这项服务:

import { HttpClient } from '@angular/common/http';

export class DummyService {
  public constructor(private readonly httpClient: HttpClient) { }

  public dummyMethod(dummyObject: Dummy): Observable<any> {
    return this.httpClient.Post('https://api.dummy/v1/dummies', dummyObject)
  }
}

如果 dummyObject === new Dummy("FooValue", null) 那么我希望这个 JSON 被序列化:{ "foo": "FooValue" }

In JSON, values must be one of the following data types:

a string
a number
an object (JSON object)
an array
a boolean
null

所以不能忽略null。但是我们在这里看不到undefined,所以你可以用它代替null,序列化对象会省略它。