AttributeError:' bytes'对象没有属性' __ dict __'

时间:2017-07-23 10:42:16

标签: python json

我是Python的新手并且遇到了这个错误:

我正在尝试对图像进行编码,然后将其转换为json以上传到no-sql db。但是当我试图将它转换为json时,我收到了这个错误:

"属性错误:'字节'对象没有属性' dict '"

下面是我的python代码:

import base64  
import json



def jsonDefault(object):
    return object.__dict__


with open("img123.png", "rb") as imageFile:  
    str = base64.b64encode(imageFile.read())  
    print(str)  
json_str = {'file_name':'img123','img_str':str}  
pytojson = json.dumps(json_str, default=jsonDefault)  
print(pytojson)

1 个答案:

答案 0 :(得分:0)

这是因为您尝试访问bytes对象没有的属性(__dict__)。我知道你需要返回一个可以序列化为JSON的格式。

这对我有用,但我不知道它是否是您想要的解码:

def jsonDefault(o):
    return o.decode('utf-8')

同样请参阅TypeError: b'1' is not JSON serializable