1. ホーム
  2. json

TypeError: タイプ 'bytes' のオブジェクトは JSON シリアライズ可能ではありません。

2022-02-13 14:59:30

詳細は クリックするとリンクが開きます

コードは以下の通りです。

class MyEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, bytes):
            return str(obj, encoding='utf-8');
        return json.JSONEncoder.default(self, obj)

これを行うには、まずencoder.pyにJSONEncoderを継承したサブクラスを追加し、上記のコードを以下のように変更します。

class MyEncoder(JSONEncoder):
    def default(self, obj):
        if isinstance(obj, bytes):
            return str(obj, encoding='utf-8');
        return JSONEncoder.default(self, obj)

dumps関数を以下のように修正します。



上記のうち、最初に変更する箇所は以下の通りです。