首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将json转换为python类?

如何将json转换为python类?
EN

Stack Overflow用户
提问于 2013-11-20 17:18:29
回答 2查看 14.2K关注 0票数 4

我想把Json转到Python类。

示例

代码语言:javascript
复制
{'channel':{'lastBuild':'2013-11-12', 'component':['test1', 'test2']}}

self.channel.component[0] => 'test1'
self.channel.lastBuild    => '2013-11-12'

你知道json转换的python库吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-20 19:25:54

在json模块的load函数中使用object_hook特殊参数:

代码语言:javascript
复制
import json

class JSONObject:
  def __init__( self, dict ):
      vars(self).update( dict )

#this is valid json string
data='{"channel":{"lastBuild":"2013-11-12", "component":["test1", "test2"]}}'

jsonobject = json.loads( data, object_hook= JSONObject)

print( jsonobject.channel.component[0]  )
print( jsonobject.channel.lastBuild  )

这种方法有一些问题,比如python中的一些名称是保留的。您可以在__init__方法中过滤掉它们。

票数 20
EN

Stack Overflow用户

发布于 2013-11-20 17:24:13

json模块会将Json加载到映射列表/列表中。例如:

代码语言:javascript
复制
>>> import json
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]

请参阅http://docs.python.org/2/library/json.html

如果您想反序列化为一个类实例,请参见SO线程:Parse JSON and store data in Python Class

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20091760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档