Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TypeError:bytes类型的对象不可JSON序列化-python 3-尝试发布base64图像数据_Json_Python 3.x - Fatal编程技术网

TypeError:bytes类型的对象不可JSON序列化-python 3-尝试发布base64图像数据

TypeError:bytes类型的对象不可JSON序列化-python 3-尝试发布base64图像数据,json,python-3.x,Json,Python 3.x,我在尝试将数据转换为json以发布请求后收到此错误 TypeError:类型为“bytes”的对象不可JSON序列化 我的代码 dict_data: dict = { 'img': base64.b64encode(urlopen(obj['recognition_image_path']).read()) } json_data: str = json.dumps(dict_data) 在尝试将数据转换为json时收到错误后,我从url读取图像,将其转换为base64。 请帮助您需要首先

我在尝试将数据转换为json以发布请求后收到此错误

TypeError:类型为“bytes”的对象不可JSON序列化

我的代码

dict_data: dict = {
  'img': base64.b64encode(urlopen(obj['recognition_image_path']).read())
}
json_data: str = json.dumps(dict_data)
在尝试将数据转换为json时收到错误后,我从url读取图像,将其转换为base64。
请帮助

您需要首先通过调用
.decode
转换为
字符串
,因为您无法在不知道编码的情况下对
字节
进行JSON序列化

base64.b64encode
返回一个
字节
,而不是
字符串

导入base64
从urllib.request导入urlopen
导入json
dict_数据:dict={
'img':base64.b64encode(urlopen(obj['recognition\u image\u path')).read()).decode('utf8')
}
json_数据:str=json.dumps(dict_数据)

编辑:重写答案以解决实际问题,编码/解码

对不起,我在前8次左右把这个答案搞砸了。我想现在没事了。。。