【问题标题】:value of decoded json解码后的json值
【发布时间】:2011-05-27 05:16:17
【问题描述】:

我尝试从dict中获取item,它是由json解码的:

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

所以它显示下一个:

回溯(最近一次通话最后): 文件“”,第 1 行,在 TypeError:列表索引必须是整数,而不是 str

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

谢谢!

【问题讨论】:

    标签: python


    【解决方案1】:

    您的数据是一个列表包含一本字典

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

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

    这实际上取决于您的意思是数据是字典列表还是只是字典

    【讨论】:

      【解决方案2】:

      您编码的数据是一个单元素列表。你的意思是:

      decoded[0]['c']
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-01-12
          • 1970-01-01
          • 2016-12-24
          • 1970-01-01
          • 1970-01-01
          • 2021-10-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多