假设我有一个类似这样的玻璃:
from dataclasses_json import DataClassJsonMixin
from dataclasses import dataclass
class ToyDataclass(DataClassJsonMixin):
name: str
value: float
字符串value
字段可以是np.nan
,这在我的设置中是有意义的。有时,我需要从序列化格式读取这些,其中np.nan
的情况被存储为:'{"name": "testname", "value": null}'
。问题是,当我序列化时,null
被转换为None
而不是np.nan
。
我的目标是编写一个自定义的解析器,它只是将每个null
都视为np.nan
。我已经尝试过几次,但都失败了。例如,这不起作用(它只是像以前一样解析为None
):
from dataclasses_json import DataClassJsonMixin, config
from dataclasses import dataclass, field
class ToyDataclass(DataClassJsonMixin):
name: str
value: float = field(
metadata=config(
decoder=(lambda val: np.nan if val is None else val),
)
)
型
此外,我不能控制序列化的类中有"null"
,而不是"NaN"
的nan
s。这是一个约束,我必须在我的代码库工作。任何指针将非常感谢!
1条答案
按热度按时间brqmpdu11#
我认为这是完全不受支持的,或者是一个当前的错误,因为json 0.6.1。我已经提交了一个问题https://github.com/lidatong/dataclasses-json/issues/497