dataclasses-json icon indicating copy to clipboard operation
dataclasses-json copied to clipboard

Ignoring `None`/`null` when encoding

Open kevinhikaruevans opened this issue 3 years ago • 2 comments
trafficstars

Is it possible to ignore NoneType (null) when encoding? As in, if I have a dataclass like:

@dataclass_json()
@dataclass
class Group:
    account: str
    thing: str

and I initialize it like: g = Group(account=None, thing='123'), I'd like to use g.to_json() to output as {"thing": 123} instead of {"account": null, "thing": 123}

kevinhikaruevans avatar Jul 07 '22 20:07 kevinhikaruevans

Right now, I'm using this:

def IgnoreNull():
    return field(
        metadata=config(
            exclude=lambda x : x is None
        )
    )

Then initializing fields like:

thing: int = IgnoreNull()

which works, however, I would like to apply this to an entire dataclass, instead of having to do it for every field.

kevinhikaruevans avatar Jul 08 '22 15:07 kevinhikaruevans

Possible duplicate of #187.

andersk avatar Jul 13 '22 00:07 andersk

@kevinhikaruevans If you use the global config option like here https://github.com/lidatong/dataclasses-json/issues/187#issuecomment-919992503 Will that be a solution?

george-zubrienko avatar Jun 11 '23 17:06 george-zubrienko

Closing for now, feel free to reopen in the suggested approach doesn't work for some reason

george-zubrienko avatar Jun 18 '23 07:06 george-zubrienko