在Python中解析JSON字符串/对象

Neo*_*Neo 6 python json dictionary

我最近开始在python中使用JSON.现在我通过post请求将JSON字符串传递给Python(Django).现在我想解析/迭代这些数据.但我找不到一种优雅的方法来解析这些数据,不知怎的,我确信存在.

data = request.POST['postformdata']
print data
{"c1r1":"{\"Choice\":\"i1\"}","c2r1":"{\"Bool\":\"i2\"}","c1r2":"{\"Chars\":\"i3\"}"}

jdata = json.loads(data)
print jdata
{u'c1r2': u'{"Chars":"i3"}', u'c1r1': u'{"Choice":"i1"}', u'c2r1': u'{"Bool":"i2"}'}
Run Code Online (Sandbox Code Playgroud)

这是预期的.但是现在当我想要获得价值时,我开始遇到问题.我必须做点什么

mydecoder = json.JSONDecoder()
for part in mydecoder.decode(data):                                             
    print part
# c1r2 c1r1 c2r1 ,//Was expecting values as well
Run Code Online (Sandbox Code Playgroud)

我希望获得值+键,而不仅仅是键.现在,我必须使用键来使用类似的东西来获取值

print jdata[key]
Run Code Online (Sandbox Code Playgroud)

如何以更简单的方式迭代这些数据,以便我可以迭代键值?

Fan*_*Lin 6

要迭代键和值,您可以编写

for key, value in jdata.iteritems():
    print key, value
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读文档:dict.iteritems