在Python中解析JSON字符串/对象
我最近开始在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]
我该如何用更简单的方法遍历这些数据,这样我就可以同时遍历键和值呢?
2 个回答
0
为了帮助其他人,在Python3中,dict.iteritems()
这个方法被改名为dict.iter()
。
6