- 运行下面代码
import json
import datetime
class NpEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
elif isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%dT%H:%M:%S')
else:
return super(NpEncoder, self).default(obj)
- 然后使用dumps方法(我们可以直接把dict直接序列化为json对象)加上 cls=NpEncoder,data就可以正常序列化了, 并导出 json 文件。
with open("write_json.json", "w", encoding='utf-8') as f:#读的时候也需要用utf-8
# json.dump(dict_, f) # 写为一行
json.dump(json_dict_2, f, indent=2, sort_keys=True, ensure_ascii=False, cls=NpEncoder) # 写为多行
参考链接
链接、