Как заставить Angular JSON сериализатор игнорировать нулевые значения? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть объект, который я отправляю с использованием HttpClient, который может иметь некоторые нулевые свойства. Интересно, есть ли какие-либо встроенные решения в Angular, которые гарантируют, что нулевые свойства не сериализуются.

Давайте возьмем эту модель, например:

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" }

1 Ответ

1 голос
/ 04 июня 2019

В JSON значения должны быть одного из следующих типов данных:

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

, поэтому он не может игнорировать null.Но мы не можем видеть undefined здесь, поэтому вы можете использовать его вместо null, и сериализованный объект пропустит его.

...