使用重复键处理JSON

时间:2015-03-23 04:13:25

标签: python json

如果我在每个重复键中都有重复键和不同值的JSON,我怎样才能在python中提取它们?

例如:

{ 
   'posting': {
                'content': 'stuff',
                'timestamp': '123456789'
              }
   'posting': {
                'content': 'weird stuff',
                'timestamp': '93828492'
              }
}

如果我想抓住两个时间戳,我该怎么做?

我尝试了a = json.loads(json_str)然后a['posting']['timestamp'],但只返回其中一个值。

2 个答案:

答案 0 :(得分:2)

您不能拥有重复的密钥。您可以改为将对象更改为数组。

[
    {
        'content': 'stuff',
        'timestamp': '123456789'
    },
    {
        'content': 'weird stuff',
        'timestamp': '93828492'
    }
]

答案 1 :(得分:1)

重复键实际上会覆盖前一个条目。而是为该键维护一个数组。示例json如下

{

'posting' : [
              {
                'content': 'stuff',
                'timestamp': '123456789'
              },
              {
                'content': 'weird stuff',
                'timestamp': '93828492'
              }
            ]

}

您现在可以像发布

那样访问发布密钥中的不同元素

json.posting [0],json.posting [1]