2017-03-02 123 views
0

我有一个家庭任务,可以解析json格式的新课程。 json文件的数据结构严格但是太复杂了。 G。我需要这个字符串来获得一个有意义的条目我:自动解析复杂的json结构

json_parsed ['rss']['channel']['item'][0]['description']['__cdata'] 

(超过40名这样的条目) 所以我可以手动分析结构和事后获得完成工作。但是我学会了自动化这样的东西,所以我想知道,json结构可以被自动解析吗?如果是,以什么方式?我还没有想法...

+0

我不知道你问真的是......蟒蛇确实有[JSON(HTTPS ://docs.python.org/3/library/json.html)stdlib包,但似乎你已经在文件中读入python对象,因为你在示例中使用了切片符号 – Aaron

+0

我解码了这个结构手动。可以使用json模块完成吗?我无法弄清楚... –

+0

给出了一个JSON'[“foo”,{“bar”:[“baz”,null,1.0,2]}] as * data.json *,将它载入python 'data = json.load(jsonfile)'其中'jsonfile = open('data.json','r')' – Aaron

回答

0

在使用json模块解析json字符串后,结果表现为包含嵌套字典和列表的字典。你可以肯定的是这样自动遍历结构(使用@Aaron给出的JSON):

>>> def explore(json): 
... if isinstance(json,dict): 
... for k,v in json.items(): 
... print(str(k)+':') 
... explore(v) 
... elif isinstance(json,list): 
... for i in json: 
... explore(i) 
... else: 
... print(json) 
... 
>>> explore(json.loads(string)) 
foo 
bar: 
baz 
None 
1.0 
2 
None