我尝试从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 我怎么能这样做?
谢谢!
答案 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']