TypeError: Object of type is not JSON serializable
📁 python
Estoy intentando escribir un objeto de la clase Person en json así:
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()Obtengo el error:
TypeError: Object of type 'Person' is not JSON serializable No diría que es una mala práctica en absoluto, solo que hay que abordarlo con inteligencia, entender sus implicaciones y no usarlo sin pensar.
Las razones para limitar esto, si lo piensas, me parecen las siguientes:
Explícito es mejor que implícito. Pierdes el control sobre cuándo se ejecutará exactamente este código, y esto puede ser importante. Los módulos en Python se pueden importar no solo en el nivel superior, sino también dentro de una función o método, lo que significa que el código del módulo se ejecutará no durante el inicio de la aplicación, sino durante la ejecución de dicha función y la instrucción
importdentro de ella. Además, puede haber más de una función que importe el módulo, y cuál de ellas se ejecuta primero en tu enorme aplicación puede no ser nada obvio.A pesar de que el código del módulo se ejecuta una sola vez en la primera carga (de hecho, en importaciones posteriores ni siquiera se carga), hacer que se ejecute más de una vez no es...
Inicia sesión para dejar una respuesta