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