我正在尝试通过FlaskAPI查询Azure上托管的SQL Server数据库,并将结果转换为JSON,我正在尝试的内容如下。这是可行的,但是结果是通过转义字符来实现的。数据中似乎没有任何明显的特殊字符。如果我使用API并执行带有参数的存储过程,json将以我想要的格式通过。有没有关于如何修改它以获得标准json格式的建议
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
parser.add_argument('customer')
conn = pyodbc.connect(serverconnectionstring)
class Customer(Resource):
def get(self):
cursor = conn.cursor()
query = "SELECT * FROM [dbo].[testforjson]"
result = cursor.execute(query)
items = [dict(zip([key[0] for key in cursor.description], row)) for row in result]
jsonitems = json.dumps(items)
return jsonitems
api.add_resource(Customer, '/customer')
if __name__ == '__main__':
app.run()
example output:
"[{\"field1\": \"B2653\", \"field2\": \"ERLOP\"}, {\"field1\": \"C2653\", \"field2\": \"ERLOP\"}]
desired output:
[
{
"field1": "B2653",
"field2": "ERLOP"
},
{
"field1": "C2653",
"field2": "ERLOP"
}
]
非常感谢@njzk2的帮助和详细解释。我将其作为结束此问题的答案:
请尝试直接从该获取方法返回项目:
很高兴听到它对你有用。再次感谢@njzk3。这可能对其他社区成员有益
相关问题 更多 >
编程相关推荐