我最近开始在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"}'}
这是预料之中的。但是现在当我想要获得价值时,我开始遇到问题。我必须做类似
的事情mydecoder = json.JSONDecoder()
for part in mydecoder.decode(data):
print part
# c1r2 c1r1 c2r1 ,//Was expecting values as well
我希望获得值+键,而不仅仅是键。现在,我必须使用键来获取值,如
print jdata[key]
如何以更简单的方式迭代这些数据,以便我可以迭代键值?
答案 0 :(得分:5)
答案 1 :(得分:0)
只是为其他人提供帮助。在Python3中,dict.iteritems()
已重命名为dict.iter()