2016-10-12 15 views
6

atıyor json ile bir bayt dizisi içeren bir sözlük kodlamak ve bir is not JSON serializable error almak çalışıyor.JSON'da baytlar nasıl kodlanır? json.dumps() bir TypeError

örnek kod:

import base64 
import json 

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

print(json.dumps(data)) 

hata Aldığım:

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

nasıl doğru JSON ile bayt içeren Sözlüğümü kodlamak?

cevap

7

JSON biçimi yalnızca unicode dizgileri'u destekler. Base64, baytları yalnızca ASCII baytlarına kodladığından, verileri kodlamak için bu codec'i kullanabilirsiniz:

İlgili konular