python:读取json和循环字典

我正在学习python,我像这样循环循环,将json转换为字典:它可以工作,但这是正确的方法吗?谢谢 :)

import json

output_file = open('output.json').read()

output_json = json.loads(output_file)

for i in output_json:

print i

for k in output_json[i]:

print k, output_json[i][k]

print output_json['webm']['audio']

print output_json['h264']['video']

print output_json['ogg']

这里的JSON:

{   

"webm":{

"video": "libvp8",

"audio": "libvorbis"

},

"h264": {

"video": "libx264",

"audio": "libfaac"

},

"ogg": {

"video": "libtheora",

"audio": "libvorbis"

}

}

这里输出:

> h264 

audio libfaac video libx264

ogg

> audio libvorbis video libtheora webm

> audio libvorbis video libvp8 libvorbis

> libx264 {u'audio': u'libvorbis',

> u'video': u'libtheora'}

回答:

总体看来还不错。

无需先读取文件,然后使用负载。您可以直接使用负载。

output_json = json.load(open('/tmp/output.json'))

为此,使用i和k是不正确的。它们通常仅应用于整数循环计数器。在这种情况下,它们是关键,因此更合适的方法会更好。也许重命名icontainerkstream?传达更多信息的东西将更易于阅读和维护。

您可以用于output_json.iteritems()同时遍历键和值。

for majorkey, subdict in output_json.iteritems():

print majorkey

for subkey, value in subdict.iteritems():

print subkey, value

请注意,使用Python 3时,您将需要使用items()而不是iteritems(),因为它已被重命名。

以上是 python:读取json和循环字典 的全部内容, 来源链接: utcz.com/qa/412740.html

回到顶部