是否有一个python json库可以将json转换为模型对象,类似于google-gson?

mic*_*luk 10 python json

标准的python json模块只能将json字符串转换为dict结构.

但我更喜欢将json转换为具有"父子关系"的模型对象结构.

我在Android应用程序中使用google-gson,但不知道哪个python库可以执行此操作.

Bog*_*dan 6

您可以让json模块构建一个字典,然后使用object_hook的字典转换成一个对象,像这样:

>>> 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'
>>>
Run Code Online (Sandbox Code Playgroud)