{'code': '200', 'data': [<Images 8>, <Images 6>, <Images 1>, <Images 4>, <Images 2>, <Images 3>, <Images 5>, <Images 7>], 'msg': 'ok'}
在 flask框架中 使用jsonify()报错
java 的spring框架中有@ResponseBody 想问一下 python、 flask里有没有类似
报错是说这个Images对象没有json序列化。
要序列化一下,数组里面的值应该要用单引号,如'<Images 8>'
题主可以试试如下方法,将图像对象用base64编码解码成base64字符串形式,然后转存为json文件。参考代码:
import json
import base64
data=[]
for i,im in enumerate(['t891.jpg','t892.png']):
d = {}
with open(im, mode='rb') as file:
img = file.read()
d[f'img{i}'] = base64.b64encode(img).decode('utf-8')
data.append(d)
a = {'code': '200', 'data': data, 'msg': 'ok'}
json.dump(a,open('a.json','w',encoding='utf-8'),ensure_ascii=True,indent=4)
如对你有帮助,请点击我回答的右上方采纳按钮予以采纳一下。
因为你的Images是一个对象,无法直接转换的,需要对Images对象先转换符合json格式的