我试图将Python对象列表解析为Json字符串。我有一个名为“list_mitarbeiter”的Python对象列表。此列表中有Mitarbeiter的对象:
class Mitarbeiter:
def __init__(self, _id, name, nachname):
self._id = _id
self.name = name
self.nachname = nachname
我尝试使用以下代码将列表\u mitarbeiter解析为JSON字符串:
x = json.dumps(z.__dict__ for z in list_mitarbeiter)
每次尝试此操作时,都会出现一个错误:generator类型的对象不可JSON序列化
我已经用列表中的一个对象做了,它工作了,我不明白为什么当我用列表中每个对象的for循环做的时候它不工作
x=json.dumps(list_mitarbeiter[1]。dict) ^^ 这是有效的
这是我的全部代码:
rom pymongo import MongoClient
from flask import Flask
import json
app = Flask(__name__)
class Mitarbeiter:
def __init__(self, _id, name, nachname):
self._id = _id
self.name = name
self.nachname = nachname
@app.route('/getallmitarbeiter')
def index():
cluster = MongoClient("<CONNECTON STRING>")
db = cluster["DP_0001"]
collection = db["Mitarbeiter"]
mitarbeiter = collection.find({})
list_mitarbeiter = []
for worker in mitarbeiter:
test1 = Mitarbeiter(worker["_id"], worker["name"], worker["nachname"])
list_mitarbeiter.append(test1)
x = json.dumps(z.__dict__ for z in list_mitarbeiter)
return x
if __name__ == '__main__':
app.run(debug=True)
JSON不能对生成器进行编码,它需要字符串、数字、布尔、无、元组、列表或字典。只需将生成器理解转换为列表理解即可:
相关问题 更多 >
编程相关推荐