Dealing with JSON with duplicate keys

If I have JSON with duplicate keys and different values in each of the duplicate keys, how can I extract both in python?

ex:

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

If I wanted to grab both timestamps, how would I do so?

I tried a a = json.loads(json_str) and then a['posting']['timestamp'] but that only returns one of the values.


You can't have duplicate keys. You can change the object to array instead.

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

Duplicate keys actually overwrite the previous entry. Instead you maintain an array for that key. Example json is as below

{

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

}

you can now access different elements in posting key like this

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

链接地址: http://www.djcxy.com/p/37844.html

上一篇: 编写JSON模式以检测具有重复名称的对象

下一篇: 使用重复键处理JSON