首页 > 解决方案 > Psycopg2 - SQL 结果到 json 列表

问题描述

尝试将 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

表 app.feeders 有一个用户列表,我想在 json 列表中表示他们 ["apple", "banana", "cherry"] 但是我上述尝试的结果是:

[('apple',), ('banana',), ('cherry',)]
[["apple"], ["banana"], ["cherry"]]
[]

标签: pythonjsonpsycopg2

解决方案


您可以直接在 Postgres 中创建一个数组:

self.cursor.execute("SELECT array_agg(user) FROM app.feeders")
print(cur.fetchone()[0])

出去:

['tony', 'tom', 'kim']

推荐阅读