考虑以下示例
>>> import json
>>> d = {0: 'potato', '0': 'spud'}
>>> json.dumps(d)
'{"0": "potato", "0": "spud"}'
>>> json.loads(json.dumps(d))
{'0': 'spud'}
我更喜欢这个提出异常。在文档中有一些关于解串器的object_pairs_hook
kwarg,但最好在序列化器中尽早失败并且不首先生成“奇怪的json”输出。
json
内置中是否有任何内容可以帮助我,或者更换任何对dicts更加谨慎的内容?如果可能的话,我宁愿不必扩展JSONEncoder
并预先检查每个dict密钥。
答案 0 :(得分:1)
实际上,如果你继续使用Python的json
模块,那就没有出路了(正如你所说的那样,你不想要任何预先检查密钥或自定义)。但如果事情要留在Python中,你可以试试demjson
库,因为它似乎以某种方式处理整数\字符串问题。我自己没试过,但是。