TypeError: Object of type is not JSON serializable
📁 python
Estou tentando escrever em json um objeto da classe Person assim:
def postUserToJson(user): fileName = str(user.FullName) + "" - "" + str(user.Id) file = open(pathUsers + fileName + "".json"", ""w"", encoding=""utf-8"") json.dump(user, file, ensure_ascii=False) file.close()Recebo o erro:
TypeError: Object of type 'Person' is not JSON serializab Eu não diria que é uma prática ruim em si, mas é preciso abordar isso com inteligência, entender quais são os riscos e não usar isso sem pensar.
As razões para limitar essa prática, se pensarmos bem, me parecem as seguintes:
Explícito é melhor que implícito. Você perde o controle sobre quando exatamente esse código será executado, e isso pode ser importante. Módulos em Python podem ser importados não apenas no nível superior, mas também dentro de uma função ou método, o que significa que o código do módulo será executado não durante a inicialização da aplicação, mas durante a execução dessa função e da instrução
importdentro dela. Além disso, pode haver mais de uma função que importa o módulo, e qual delas e quando é executada primeiro em sua enorme aplicação pode não ser nada óbvio.
Faça login para deixar uma resposta