如何让 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
,序列化对象会省略它。
我有一个使用 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
,序列化对象会省略它。