Pythonのjson.dumps()で出力したくないメンバ変数がある場合

Python
class hoge():
    def __init__(self):
        self.menber1 = "hoge",
        self.menber2 = "fuga",
        self.menber3 = "hogo",
        self.wantexclude1 = "evil"

def default_serializer(obj):
    if isinstance(obj,hoge):
        return{
        "menber1":obj.menber1,
        "menber2":obj.menber2,
        "menber3":obj.menber3,
        } 

instance = hoge()

json_str = json.dumps(instance, default=default_serializer)

# これは間違い
json_str = json.dumps(vars(instance), default=default_serializer)

参考情報:

pythonでjson出力する際に対応していない型(e.g. datetime)の値を変換しながら出力したい - Qiita
pythonでjson出力する際に対応していない型(e.g. datetime)の値を変換しながら出力したい。対応していない型を含んだ辞書でTypeErrorが発生pythonでdictをjso…

コメント

タイトルとURLをコピーしました