2017-11-02 4 views
0

"psycopg2"를 사용하여 포스트그레스에서 JSON 행을 가져 오려고합니다. 레코드의 가치는 [[{....}, {...}, {...}]]와 같습니다. 올바른 JSON 결과 얻기 [{....}, {...}, {...}] 나는 기록을 위해 가야한다 1. 왜 이런 일이 일어나는지 확신 할 수 없습니다.psycopg2 선택 결과가 추가 배열로 중첩됩니다.

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 [{....},{...},{...}] 
+0

파이썬 이냐구요 !! 언어에 태그를 달다 –

답변

0

cur.fetchall() 당신에게 기록 목록을 제공합니다. 아마도 cur.fetchone()을 원할 것입니다.