2012-07-21 22 views

cevap

4

Sen json modülü dicti inşa izin verebilir ve daha sonra bir kullanmak böyle transform the dict into an object için object_hook şey: Öneriniz için ama JSON kullanmak gerekir geriye dönük uyumluluk nedenle

>>> import json 
>>> 
>>> class Person(object): 
...  firstName = "" 
...  lastName = "" 
... 
>>> 
>>> def as_person(d): 
...  p = Person() 
...  p.__dict__.update(d) 
...  return p 
... 
>>> 
>>> s = '{ "firstName" : "John", "lastName" : "Smith" }' 
>>> o = json.loads(s, object_hook=as_person) 
>>> 
>>> type(o) 
<class '__main__.Person'> 
>>> 
>>> o.firstName 
u'John' 
>>> 
>>> o.lastName 
u'Smith' 
>>> 
+0

Tt, object_hook ile çalışır. TeşekkürlerBogdan. –

+0

modelde model hakkında ne dersiniz –

1

Bunu json ile iş yapmak için kendi seri hale yazmak, ancak neden olmasın kutudan onu destekleyen pyyaml kullanabilirsiniz:

>>> import yaml 
>>> class Foo: 
... def bar(self): 
...  print 'Hello I am bar' 
... def zoo(self,i): 
...  self.i = i 
...  print "Eye is ",i 
... 
>>> f = Foo() 
>>> f.zoo(2) 
Eye is 2 
>>> s = yaml.dump(f) 
>>> f2 = yaml.load(s) 
>>> f2.zoo(3) 
Eye is 3 
>>> s 
'!!python/object:__main__.Foo {i: 2}\n' 
>>> f2 = yaml.load(s) 
>>> f2.i 
2 
+0

teşekkürler. –

+0

http://yamltojson.com/ – dg123

İlgili konular