Most Python objects aren't serializable into JSON. Pydantic isn't
special in this sense.

What can you do about this? -- Well, if this is a one-of situation,
then, maybe just do it by hand?

If this is a recurring problem: json.dumps() takes a cls argument that
will be used to do the serialization. Extend json.JSONEncoder and
implement the encode() method for the encoder class you are passing. I
believe that the official docs have some information about this too.

On Tue, May 28, 2024 at 2:50 PM Larry Martell via Python-list
<python-list@python.org> wrote:
>
> Just getting started with pydantic. I have this example code:
>
> class FinishReason(Enum):
>     stop = 'stop'
>
> class Choice(BaseModel):
>     finish_reason: FinishReason = Field(...)
>
>
> But I cannot serialize this:
>
> json.dumps(Choice(finish_reason=FinishReason.stop).dict())
> *** TypeError: Object of type FinishReason is not JSON serializable
>
>
> I get the object not the value:
>
> (Pdb) Choice(finish_reason=FinishReason.stop)
> Choice(finish_reason=<FinishReason.stop: 'stop'>)
>
>
> Also tried it with .value, same result.
>
> What am I missing here?
> --
> https://mail.python.org/mailman/listinfo/python-list
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to