본문 바로가기
파이썬

파이썬 JSON에서 바이트를 인코딩하는 방법은 무엇입니까? TypeError를 던지는 json.dumps ()

by º기록 2020. 10. 28.
반응형

json 을 사용하여 바이트 문자열이 포함 된 사전을 인코딩하려고하는데 is not JSON serializable 오류 가 발생합니다.

import base64
import json

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

print(json.dumps(data))

내가 얻는 오류 :

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

JSON으로 바이트가 포함 된 사전을 올바르게 인코딩하려면 어떻게해야합니까?

 

해결 방법

 


import base64

encoded = base64.b64encode(b'data to be encoded')  # b'ZGF0YSB0byBiZSBlbmNvZGVk' (notice the "b")
data['bytes'] = encoded.decode('ascii')            # 'ZGF0YSB0byBiZSBlbmNvZGVk'


decoded = base64.b64decode(data['bytes'])  # b'data to be encoded'

 

참조 페이지 https://stackoverflow.com/questions/40000495

 

 

반응형

댓글