pydantic json 忽略 None 值

ponponon 發表於 2022-01-23

pydanticjson 方法提供了 exclude_none 引數以實現該功能

程式碼:

from typing import Optional
from pydantic import BaseModel, Field


class Tweets(BaseModel):
    id: int
    user_id: Optional[int]
    content: Optional[str] = Field(None)


print(
    Tweets(**{
        'id': 10,
        'user_id': None,
    }).json(ensure_ascii=False, exclude_none=True)
)

輸出:

{"id": 10, "user_id": null, "content": null}

程式碼:

from typing import Optional
from pydantic import BaseModel, Field


class Tweets(BaseModel):
    id: int
    user_id: Optional[int]
    content: Optional[str] = Field(None)


print(
    Tweets(**{
        'id': 10,
        'user_id': None,
    }).json(ensure_ascii=False)
)

輸出:

{"id": 10}