まれに発生する要望だと思います。

文脈

Pythonの暗号ライブラリ crypto にあるRSA暗号を使って文字列を暗号化するとバイトエンコードされた文字列が手に入ります。
これをJSONに乗せてサーバーサイドに送りたいという状況になりました(具体的にはパスワードを暗号化して送信したかった)

しかしJSONにバイトエンコードされた文字列をそのまま乗せることはできません。
やろうとすると「Object of type bytes is not JSON serializable」と怒られます。

結論

バイトエンコードされた文字列をBase64エンコード→文字列にデコードというステップを踏んでからJSONに乗せるとよいです。

import requests
import json
import base64

crypted = b"Hello world" #暗号化されたバイト文字列 (この状態では乗らない)
b64_message = base64.b64encode(crypted) #暗号化された文章をそのままデコードするとエラーなので注意
send_message = b64_message.decode('utf-8')

send_data = {'message': send_message}

request.post(url, json = json.dumps(send_data, ensure_ascii = False, indent = 4), headers={'Content-Type': 'application/json'})