1、写入生成的json文件中的中文参数显示为乱码
在打开时加上encoding='utf-8'参数
with open (output_dir, 'w',encoding='utf-8') as json_file:
2、python3中使用json.dumps(dicts)序列化字典时,如果字典中含有自定义的项时报错:TypeError: Object of type ‘bytes’ is not JSON serializable。或者其他类型(str、int)
重写一个编码类
class MyEncoder(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,bytes): return str(obj,encoding='utf-8') elif isinstance(obj, np.ndarray): return obj.tolist() else: return super(MyEncoder, self).default(obj)