【问题标题】:JSON Object parsing: Loop through dynamic dataJSON对象解析:循环动态数据
【发布时间】:2015-07-25 16:21:14
【问题描述】:

我有一个 JSON 对象如下:

{u'2015-05-11': 2, u'2015-05-04': 1}

这里的日期可能会有所不同,也就是说,我可以查询多个日期。

我想提取对象中的数字并添加它们。所以在这个例子中,我想提取 21 并把它们提取出来得到结果 3

另一个例子:

{u'2015-05-11': 6, u'2015-05-04': 0}

这里的答案是6 + 0 = 6

另一个带有多个日期的 JSON 对象示例:

{u'2015-04-27': 0, u'2015-05-11': 2, u'2015-05-04': 1}

这里的答案是:0 + 2 + 1 = 3

我想遍历 JSON 对象并提取所有数字。我已经阅读了herehere 提供的答案。问题是,我拥有的 JSON 对象没有可以查询的固定键。

我该怎么做?

【问题讨论】:

    标签: python json


    【解决方案1】:

    这些都是 Python 字典,而不是 JSON 对象。

    由于您似乎根本不关心键,因此您只需获取值并将它们相加即可:

    result = sum(data.values())
    

    【讨论】:

      【解决方案2】:

      如果你确定是json数据,数据如下:

      '{"2015-05-11": 2, "2015-05-04": 1}'
      

      将json转成dict:

      data = json.loads(a)
      # {u'2015-05-11': 2, u'2015-05-04': 1}
      

      根据你的问题,解决问题。

      result = sum(data.values())
      # 3
      

      【讨论】:

        【解决方案3】:

        Daniel 的回答为您提供了您正在寻找的解决方案,但您也应该知道您可以使用 enumerate 遍历 Python dict。

        for value, key in enumerate(your_dict):
            print value, key
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-12
          • 2016-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多