解码的json的值

时间:2011-05-27 05:16:18

标签: python

我尝试从dict获取项目,该项目由json解码:

data = [ { 'a':'A', 'b':(2, 4), 'c':3 } ]
data_string = json.dumps(data)
decoded = json.loads(data_string)
decoded['c']

所以它显示了下一个:

Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not str

我尝试在屏幕上打印c的值 所以我尝试在解码['c']之后看到3 我怎么能这样做?

谢谢!

3 个答案:

答案 0 :(得分:5)

您的数据是包含词典

的列表

您可以使用decoded[0]['c'],因为字典是列表的第一个元素

另一种可能性是你应该使用data = {u'a': u'A', u'c': 3, u'b': [2, 4]}(没有方括号)

这实际上取决于您是指数据是字典列表还是字典

答案 1 :(得分:1)

您编码的数据是一个元素列表。你或许是这样的意思:

decoded[0]['c']

答案 2 :(得分:0)

data是一个列表,而不是一个字典。尝试:

data = { 'a':'A', 'b':(2, 4), 'c':3 }
data_string = json.dumps(data)
decoded = json.loads(data_string)
decoded['c']