首页 > 解决方案 > 在 Python 中获取 JSON 格式的数据

问题描述

我正在发出 GET 请求以检索数据,同时使用 POSTMAN 检查响应。

from flask import Flask, request
from flask_restful import Resource, Api
from sqlalchemy import create_engine
from json import dumps
from flask import jsonify

db_connect = create_engine('sqlite:///quiz.db')
app = Flask(__name__)
api = Api(app)

class Quiz(Resource):
    def get(self, quiz_id):
        conn = db_connect.connect()
        query = conn.execute("select * from quiz where id =%d "  %int(quiz_id))
        result = {'data': [dict(zip(tuple (query.keys()) ,i)) for i in query.cursor]}
        return jsonify(result)

api.add_resource(Quiz, '/api/quiz/<quiz_id>') # Route_1

if __name__ == '__main__':
     app.run(port='5002')

这是我得到的回应:

{
    "data": [
        {
            "description": "I love Python",
            "id": 2,
            "name": "Python"
        }
    ]
}

这就是我想要的:

{
    "description": "I love Python",
    "id": 2,
    "name": "Python"
}

标签: pythonjsonpython-3.xapiflask-restful

解决方案


    result = {'data': [{'description': 'I love Python', 'name': 'Python', 'id': 2}]}
    result["another_data"] = [{ "description": "I love C","id": 3, "name": "C"}]
    for k in result.keys():
         print(result[k])

上面的代码将产生您要查找的内容,如下所示。

    [{'description': 'I love Python', 'name': 'Python', 'id': 2}]
    [{'description': 'I love C', 'name': 'C', 'id': 3}]

推荐阅读