在 python 中编码时,我收到一个错误:“myObject 类型的对象不是 JSON 可序列化的”
我尝试使用我在其他问题中看到的一些解决方案,但是我没有发现我的代码和那些问题中的代码有很多相似之处,因此我发现很难在我的代码中调整解决方案。
我的脚本的一部分如下。错误发生在第一个块的最后一行:
import json
import os
from my_object import myObject
for a in A_set:
if os.path.isfile(filename):
with open(filename, 'r') as f:
json_data = json.load(f)
object_name = myObject.from_json(json_data)
else:
object_name = myObject(a)
object_name.property_A = property_A
object_name.property_C = []
object_name.property_C_add_elements(var)
with open(filename, 'w') as f:
json.dump(object_name.to_json(), f)
在另一个 python 文件中定义了“myObject”类,其中还有方法“to_json()”,我在产生错误的代码行中调用它。
class myObject:
def __init__(self, name):
self.name = name
self.property_A = property_A
self.property_B = property_B
self.property_C = []
def property_C_add_elements(self, var):
self.property_C.append(var)
def to_json(self):
return {
'Name': self.name,
'property A': self.property_A,
'property B': self.property_B,
'property C': self.property_C
}
@classmethod
def from_json(cls, jason_data):
object_name = myObject(jason_data['property A'])
property_B = myObject(jason_data['property B'])
c_list = []
for var in jason_data['property C']:
c_list.append(myObject(var))
object_name.property_B = property_B
object_name.property_C = c_list
return object_name
如果我能找到该问题的解决方案,我会很高兴。提前致谢。
相关分类