Получить время выполнения запроса в выводе json

from flask import Flask, request
import src.dbcon as db
app = Flask(__name__)
@app.route("/", methods=['POST'])
def hello():
    id = request.args.get('id')
    query = "select * from employee where id= {id} limit 2;"
    with db.sample(query.format(id=request.args.get('id'))) as data:
        return data
  am returning data in json format.

1) мне нужно вернуть время выполнения запроса вместе с данными json. пример: "query_execution_time": 2345, 2) В выводе json я получаю пустое пространство [{"id": "10000", "roll_no": "02V}], как удалить это пространство?

def getcursor_read(query): 
    a=read_create_conn(config=configuration) 
    print("Created read connection,") 
    con = a.getconn() 
    print(query) 

    try: 
        cur = con.cursor(cursor_factory=psycopg2.extras.DictCursor) 
        cur.execute(query) 
        print("Handed read connection!") 
        data =cur.fetchall() 
        json_data = json.dumps([dict(ix) for ix in data]) 
        print(json_data) 
        #con.commit() 
    except: 
        con.rollback() 
    finally: 
        a.putconn(con) yield json_data 

Как передать это data[0]['execution_time'] = query_execution_time в приведенной выше функции?


person user3843520    schedule 25.07.2017    source источник
comment
добавьте новый элемент как data[0]['execution_time'] = query_execution_time, это добавит «execution_time» в самом json. Для второй части вопроса я предлагаю вам использовать json.dumps(separators=(',', ':')), но если проблема с пробелами более сложна, вам, возможно, придется следовать этому подходу Удалить пробелы   -  person Utkarsh Shekhar    schedule 25.07.2017
comment
@UtkarshShekhar def getcursor_read (query): a = read_create_conn (config = configuration) print (Создано соединение для чтения) con = a.getconn () print (query) try: cur = con.cursor (cursor_factory = psycopg2.extras.DictCursor) cur .execute (запрос) print (Переданное соединение для чтения!) data = cur.fetchall () json_data = json.dumps ([dict (ix) для ix в данных]) print (json_data) # con.commit () за исключением: con. rollback () наконец: a.putconn (con) yield json_data, как передать эти данные [0] ['execution_time'] = query_execution_time в вышеуказанной функции?   -  person user3843520    schedule 25.07.2017
comment
Не вставляйте код как комментарий, отредактируйте свой вопрос соответствующим образом.   -  person stovfl    schedule 25.07.2017
comment
Отредактируйте свой вопрос и покажите не менее 3 строк данных из json_data, чтобы рассказать вам, как добавить query_execution_time.   -  person stovfl    schedule 25.07.2017