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

Array encoding not respecting specified config

Open qiuchengxuan opened this issue 1 year ago • 1 comments

from dataclasses import dataclass, field
from ipaddress import IPv4Address as IPv4
from typing import Optional

from dataclasses_json import dataclass_json, config

@dataclass_json
@dataclass
class Whatever:
   ip: Optional[IPv4] = field(default=None, metadata=config(encoder=str, decoder=IPv4))

Whatever(IPv4('1.1.1.1')).to_json()  # is ok
Whatever.schema().dumps([Whatever(IPv4('1.1.1.1')], many=True))  # TypeError: Object of type IPv4Address is not JSON serializable

qiuchengxuan avatar Oct 24 '22 10:10 qiuchengxuan