TypeError: Object of type is not JSON serializable
📁 python
尝试像这样将 Person 类的对象写入 json:
def postUserToJson(user): fileName = str(user.FullName) + "" - "" + str(user.Id) file = open(pathUsers + fileName + "".json"", ""w"", encoding=""utf-8"") json.dump(user, file, ensure_ascii=False) file.close()出现错误:
TypeError: Object of type 'Person' is not JSON serializab 我不会说这完全是糟糕的实践,只是需要明智地处理这件事,理解其潜在风险,不要盲目使用。
仔细想想,限制这种做法的主要原因如下:
显式优于隐式。你会失去对代码何时执行的控制,而这可能很重要。Python中的模块不仅可以在顶层导入,还可以在函数或方法内部导入,这意味着模块代码不会在应用启动时执行,而是在调用该函数并执行其中的
import语句时执行。此外,导入该模块的函数可能不止一个,在庞大的应用中,哪个函数最先执行以及何时执行可能完全不清楚。尽管模块代码在首次加载时只执行一次(实际上后续导入时甚至不会重新加载),但使其执行多次的情况并非不可能。
登录 以留下回答