我想知道是否有可能采用默认的jsons.dump
行为,并使其对python ipaddes是幂等的(返回输入字符串)
这将使我能够在python中使用对象,并在所有序列化和反序列化中使用相同的字符串。这样,当我们加载序列化的JSON时,第一个加载数据的程序和第二个加载数据的+N程序就不需要不同的控制路径
>>> import ipaddress
>>> import jsons
>>> import ipaddress
>>> ipaddress.IPv4Address("192.0.0.1")
IPv4Address('192.0.0.1')
>>> jsons.dump(ipaddress.IPv4Address("192.0.0.1"))
{'_ip': 3221225473}
>>> jsons.load(jsons.dump(ipaddress.IPv4Address("192.0.0.1")))
{'_ip': 3221225473}
>>> jsons.load(jsons.dump(ipaddress.IPv4Address("192.0.0.1")))
"192.0.0.1"
>>> jsons.load(jsons.dump(ipaddress.IPv4Address("192.0.0.1")))
IPv4Address('192.0.0.1')
我已经将__repr__
方法更改为将类型转换为字符串。但这意味着我必须做jsons.dump(repr(<variable>))
,这意味着其他使用我的代码的开发人员有一个潜在的地雷,他们需要注意
目前没有回答
相关问题 更多 >
编程相关推荐