psycopg2 select 结果嵌套在附加数组中

psycopg2 select result gets nested with additional array

我正在尝试使用 "psycopg2" 从 postgres 中获取 JSON 行。记录的值类似于 [ [{....},{...},{...}] ]。要获得正确的 JSON 结果,即。 [{....},{...},{...}] 我得去找记录1。不知道为什么会这样。

import psycopg2
import sys
import json

conn_string = "'host='localhost' dbname='postgres' user='postgres' password='password123'" 
con=psycopg2.connect(conn_string)
cur = con.cursor()
cur.execute("select json_agg(art) from (select a.*, (select json_agg(b) from (select * from pfstklist where pfportfolioid = a.pfportfolioid ) as b) as pfstklist, (select json_agg(c) from (select * from pfmflist where pfportfolioid = a.pfportfolioid ) as c) as pfmflist from pfmaindetail as a) art")
records = cur.fetchall()
print(records)     #This gives result [[{....},{...},{...}]]
records1=records[0]    
print(records1)   #This gives expected result [{....},{...},{...}]

cur.fetchall() 给你一个记录列表。你可能想要 cur.fetchone().