Flask中如何返回多个JSON对象?现有代码仅返回单个对象
解决Flask返回多个JSON对象的问题
嘿,我懂你现在遇到的问题了——你的代码在循环里每次生成一个JSON对象就直接return了,而return语句会立刻终止函数执行,所以循环只跑了第一次就结束,自然只能返回第一个容器对应的JSON对象啦。
要返回多个JSON对象,正确的做法是先把所有对象收集到一个列表里,再统一转换成JSON格式返回,具体修改如下:
from flask import jsonify def json_example(): # 初始化一个空列表,用来存储所有产品的信息字典 products = [] for container in containers: # 注意:这里要确保product_name、final_price、quantity是当前container对应的数值 # 比如如果是从container里提取的,应该写成container.product_name这类形式 product_item = { "Product": product_name, "Price": final_price, "Details": quantity } # 将当前产品的字典添加到列表中 products.append(product_item) # 把整个列表转换成JSON格式返回,Flask会自动处理成JSON数组 return jsonify(products)
修改后,你得到的返回结果会是一个JSON数组,里面包含所有容器对应的产品对象,示例格式如下:
[ {"Details": "1 L", "Price": "275", "Product": "HARPIC BATHROOM FLOOR CLEANER 1000 ml lemon"}, {"Details": "500 ml", "Price": "150", "Product": "HARPIC BATHROOM CLEANER 500 ml mint"}, {"Details": "2 L", "Price": "500", "Product": "HARPIC BATHROOM FLOOR CLEANER 2000 ml original"} ]
最后提醒一句:一定要确认product_name、final_price、quantity这几个变量在每次循环中都对应当前container的正确数据,不然可能会出现所有条目内容都一样的情况哦。
内容的提问来源于stack exchange,提问作者greatisgreat
相关产品推荐
相关产品推荐

