2016-10-12 28 views
6

我想編碼一個字典包含一個字節的字符串與json,並得到一個is not JSON serializable error如何在JSON中編碼字節? json.dumps()拋出一個TypeError

示例代碼:

import base64 
import json 

data={} 
encoded = base64.encodebytes(b'data to be encoded') 
data['bytes']=encoded 

print(json.dumps(data)) 

錯誤我收到:

TypeError: b'ZGF0YSB0byBiZSBlbmNvZGVk\n' is not JSON serializable 

我該如何正確編碼含有字節,JSON我的字典?

回答

7

JSON格式僅支持unicode字符串。由於Base64將字節編碼爲僅ASCII字節,因此您可以使用該編解碼器來解碼數據:

encoded = base64.encodestring(b'data to be encoded') 
data['bytes'] = encoded.decode('ascii') 
相關問題