1. ホーム
  2. python

XXX型のオブジェクトがJSONシリアライズ可能でない問題を解決する

2022-02-13 23:28:04
<パス

型 "XXX" のオブジェクトは JSON シリアライズ可能なソリューションではありません。

Object of type "XXX" is not JSON serializable は、次のように変換されます。 XXXオブジェクトを正しくシリアライズできない .
この問題は、json.dumps()関数が原因です
dumpsはdict(辞書)データ型をstrデータに変換していますが、dictデータにはbyteデータが含まれているため、エラーを報告します。
回避策:バイト型に遭遇した場合、文字列型に変換することです。

def change_type(byte):    
    if isinstance(byte,bytes)
        return str(byte,encoding="utf-8")  
    return json.JSONEncoder.default(byte)
json.dumps(data)

json.dumps(data,cls=change_type,indent=4)

に変更する。

json.dumps(data,cls=change_type,indent=4)

説明します。clsを追加するだけで、きちんとシリアライズされます。

`