Psycopg2 - SQL 结果到 json 列表
Psycopg2 - SQL Result to json list
尝试 return Psycopg2 结果到 Python json 列表。
self.cursor.execute("SELECT user FROM app.feeders")
ex1 = self.cursor.fetchall()
print(ex1)
json_output = json.dumps(ex1)
print(json_output)
result = [r[0] for r in self.cursor.fetchall()]
print(result)
return json_output
table app.feeders 有一个用户列表,我希望在 json 列表中代表这些用户 ["apple", "banana", "cherry" ] 然而,我上述尝试的结果是:
[('apple',), ('banana',), ('cherry',)]
[["apple"], ["banana"], ["cherry"]]
[]
您可以直接在 Postgres 中创建 array:
self.cursor.execute("SELECT array_agg(user) FROM app.feeders")
print(cur.fetchone()[0])
输出:
['tony', 'tom', 'kim']
所以问题是直接通过 cursor.fetchall() 传递的。进行以下更改解决了问题:
发件人:
result = [r[0] for r in self.cursor.fetchall()]
收件人:
result = [r[0] for r in ex1]
尝试 return Psycopg2 结果到 Python json 列表。
self.cursor.execute("SELECT user FROM app.feeders")
ex1 = self.cursor.fetchall()
print(ex1)
json_output = json.dumps(ex1)
print(json_output)
result = [r[0] for r in self.cursor.fetchall()]
print(result)
return json_output
table app.feeders 有一个用户列表,我希望在 json 列表中代表这些用户 ["apple", "banana", "cherry" ] 然而,我上述尝试的结果是:
[('apple',), ('banana',), ('cherry',)]
[["apple"], ["banana"], ["cherry"]]
[]
您可以直接在 Postgres 中创建 array:
self.cursor.execute("SELECT array_agg(user) FROM app.feeders")
print(cur.fetchone()[0])
输出:
['tony', 'tom', 'kim']
所以问题是直接通过 cursor.fetchall() 传递的。进行以下更改解决了问题:
发件人:
result = [r[0] for r in self.cursor.fetchall()]
收件人:
result = [r[0] for r in ex1]