如何从Python中的json文件中获取字典?

时间:2014-02-06 00:30:32

标签: python json dictionary

我有这个代码来实现我的需求:

import json

json_data = []
with open("trendingtopics.json") as json_file:
    json_data = json.load(json_file)

for category in json_data:
    print category
    for trendingtopic in category:
        print trendingtopic

这是我的json文件:

{
    "General": ["EPN","Peña Nieto", "México","PresidenciaMX"],
    "Acciones politicas": ["Reforma Fiscal", "Reforma Energética"]
}

但是我打印出来了:

Acciones politicas
A
c
c
i
o
n
e
s

p
o
l
i
t
i
c
a
s
General
G
e
n
e
r
a
l

我希望得到一个字典是字符串键并获得一个列表作为值。然后迭代它。我怎么能完成它?

2 个答案:

答案 0 :(得分:4)

json_data是一本字典。在第一个循环中,您将遍历字典键的列表:

for category in json_data:

category 将包含关键字符串 - General和Acciones politicas。

你需要替换这个循环,它遍历键的字母:

for trendingtopic in category:

使用以下内容,以便迭代字典元素:

for trendingtopic in json_data[category]:

答案 1 :(得分:3)

我使用字典的.iteritems()方法返回键/值对:

for category, trending in json_data.iteritems():
    print category
    for topic in trending:
        print topic