我知道那里有很多 json/python 问题,但我似乎无法弄清楚这一点。我正在尝试将两个列表序列化到同一个文件中。为此,我创建了一个包含两个列表的新类:
class newJSON(object):
def __init__(self, list1, list2):
self.data = {'data': list1, 'info' : list2}
我需要生成的数据文件如下所示:
{
"data" : [
{
"name" : "aName" ,
"coordinates" : {"obj2" : 33, "obj3" : 71}
} , {
"name" : "bName" ,
"coordinates" : {"obj2" : 12, "obj3" : 77}
}
] ,
"info" : [
{
"first" : ["xxx" , "yyy"] ,
"space" : 21
} , {
"first" : ["aaa" , "bbb"] ,
"space" : 12
}
]
}
然后我按照将python 对象实例序列化为 JSON和其他几个中的建议对对象进行解码:
jsonToEncode = newJSON(myList1, myList2)
myNewJSONData = json.dumps(jsonToEncode.__dict__)
但是我得到了“不是 JSON 可序列化错误”......我在有和没有dict的情况下都试过了,但没有成功。JSON 必须采用上述格式。问题是什么?
谢谢
****编辑****
为了制作这两个列表,我采用了一个 json 文件,该文件的格式与所示的 json 完全相同,并执行以下操作:
list1 = [obj1(**myObj) for myObj in data["data"]]
和 list2 一样。obj1 是这样制作的:
class obj1(object):
def__init__(self, name, coordinates):
self.name = name
self.coordinate = coordinates