Introdução
Artigo baseado no post de Sidon. E trata de casting de uma classe para o formato json.
Classe Modelo
import jsonpickle class Foo(): def test(self): return 'bar' foo = Foo()
Convertendo o obejto em uma string JSON
jfoo = jsonpickle.encode(foo) Recriando o objeto python a partir da string JSON: foo2 = jsonpickle.decode(jfoo) Executando o objeto (a classe) recriado: foo2.test() 'bar'Clique aqui para a documentação.
Pickle
Se não for obrigado a usar json, exite a opção do pickle mais seguro em python:Classe Modelo
import pickle class Foo(): def test(self): return 'bar'Serializando:
foo = Foo() with open('foo.pickle', 'wb') as f: pickle.dump(foo, f, pickle.HIGHEST_PROTOCOL)Lendo do disco para a memoria (Desserializando):
with open('foo.pickle', 'rb') as f: foo2 = pickle.load(f)Executando a classe desserializada:
foo2.test() 'bar'Clique aqui para a documentação. Referências
https://pt.stackoverflow.com/questions/218451/como-colocar-uma-classe-dentro-de-um-json http://jsonpickle.github.io/ https://docs.python.org/2/library/pickle.html
Comentários