Object of type module is not JSON serializable File "C:\Users\Administrator\Desktop\FishWebGUI\app.py", line 20, in save_now if str(json.dumps(self.config_old)) != str(json.dumps(self.config)): ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Administrator\Desktop\FishWebGUI\app.py", line 104, in <module> c.save_now() TypeError: Object of type module is not JSON serializable
时间: 2023-08-02 22:10:46 浏览: 248
某app的 json文件
这个错误是因为你在使用 `json.dumps()` 方法时,将一个模块对象作为参数传入,而模块对象无法被 JSON 序列化。
你需要将模块对象转换成 JSON 可序列化的数据类型,如字典、列表等。你可以通过在模块中定义一个 `to_json` 方法,将模块中需要保存的数据转换成字典或列表,然后在调用 `json.dumps()` 方法时,将这个字典或列表作为参数传入。例如:
```python
import json
class Config:
def __init__(self):
self.param1 = 'value1'
self.param2 = 'value2'
def to_json(self):
return {
'param1': self.param1,
'param2': self.param2
}
config = Config()
config_dict = config.to_json()
json_str = json.dumps(config_dict)
```
这样,你就可以将 `config` 对象转换成一个字典,然后用 `json.dumps()` 方法将其转换成 JSON 字符串,避免了模块对象无法被 JSON 序列化的错误。
阅读全文