编辑:添加了实际的 JSON 对象和代码以供审查
我有这种格式的 JSON(只是这个层次结构,假设 JSON 正在工作)
{u'kind': u'calendar#events', u'defaultReminders': [{u'minutes': 60, u'method': u'email'}, {u'minutes': 60, u'method': u'sms'}], u'items': [{u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'date': u'2013-07-27'}, u'created': u'2013-06-15T19:06:13.000Z', u'iCalUID': u'93idui5eb15knl8aavng2iu1mc@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=OTNpZHVpNWViMTVrbmw4YWF2bmcyaXUxbWMgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-15T19:06:13.635Z', u'summary': u'white water rafting', u'start': {u'date': u'2013-07-26'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTMyMzE3MzYzNTAwMA"', u'transparency': u'transparent', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'93idui5eb15knl8aavng2iu1mc'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-24T13:00:00-05:00'}, u'created': u'2013-06-21T18:32:08.000Z', u'iCalUID': u'67cjnqboq3uhkrd5udogd5pog4@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=Njdjam5xYm9xM3Voa3JkNXVkb2dkNXBvZzQgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:32:08.192Z', u'summary': u'camp counselor', u'start': {u'dateTime': u'2013-06-24T09:00:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTUyODE5MjAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'67cjnqboq3uhkrd5udogd5pog4'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-25T09:00:00-05:00'}, u'created': u'2013-06-21T18:32:21.000Z', u'iCalUID': u'oktlfp6503u046ueq5dqmn07qs@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=b2t0bGZwNjUwM3UwNDZ1ZXE1ZHFtbjA3cXMgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:32:21.673Z', u'summary': u'front desk', u'start': {u'dateTime': u'2013-06-25T05:45:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTU0MTY3MzAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'oktlfp6503u046ueq5dqmn07qs'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-25T10:00:00-05:00'}, u'created': u'2013-06-21T18:32:29.000Z', u'iCalUID': u'2j139fec1nichbua2t1p161au8@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=MmoxMzlmZWMxbmljaGJ1YTJ0MXAxNjFhdTggbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:32:29.802Z', u'summary': u'camp counselor', u'start': {u'dateTime': u'2013-06-25T09:00:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTU0OTgwMjAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'2j139fec1nichbua2t1p161au8'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-26T09:00:00-05:00'}, u'created': u'2013-06-21T18:32:48.000Z', u'iCalUID': u'0v19db1opb8uemnqbe2m8f5sd4@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=MHYxOWRiMW9wYjh1ZW1ucWJlMm04ZjVzZDQgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:32:48.507Z', u'summary': u'fitness floor', u'start': {u'dateTime': u'2013-06-26T05:45:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTU2ODUwNzAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'0v19db1opb8uemnqbe2m8f5sd4'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-26T13:00:00-05:00'}, u'created': u'2013-06-21T18:32:55.000Z', u'iCalUID': u'o71t8t2pjg5fl075ipo0e14dik@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=bzcxdDh0MnBqZzVmbDA3NWlwbzBlMTRkaWsgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:32:55.986Z', u'summary': u'camp counselor', u'start': {u'dateTime': u'2013-06-26T09:00:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTU3NTk4NjAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'o71t8t2pjg5fl075ipo0e14dik'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-27T13:00:00-05:00'}, u'created': u'2013-06-21T18:33:11.000Z', u'iCalUID': u'dffo6en4efnbjb0tm06ev92en4@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=ZGZmbzZlbjRlZm5iamIwdG0wNmV2OTJlbjQgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:33:11.511Z', u'summary': u'camp counselor', u'start': {u'dateTime': u'2013-06-27T09:00:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTU5MTUxMTAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'dffo6en4efnbjb0tm06ev92en4'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-28T09:00:00-05:00'}, u'created': u'2013-06-21T18:33:21.000Z', u'iCalUID': u'2p6c7u24kbv30acuojbh2ne794@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=MnA2Yzd1MjRrYnYzMGFjdW9qYmgybmU3OTQgbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:33:21.986Z', u'summary': u'fitness floor', u'start': {u'dateTime': u'2013-06-28T05:45:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTYwMTk4NjAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'2p6c7u24kbv30acuojbh2ne794'}, {u'status': u'confirmed', u'kind': u'calendar#event', u'end': {u'dateTime': u'2013-06-28T13:00:00-05:00'}, u'created': u'2013-06-21T18:33:50.000Z', u'iCalUID': u'6ouv43oqi94ogvqam0ldh5pk48@google.com', u'reminders': {u'useDefault': True}, u'htmlLink': u'https://www.google.com/calendar/event?eid=Nm91djQzb3FpOTRvZ3ZxYW0wbGRoNXBrNDggbG9nYW5AbG9nYW5oZW5zb24uY29t', u'sequence': 0, u'updated': u'2013-06-21T18:33:50.756Z', u'summary': u'camp counselor', u'start': {u'dateTime': u'2013-06-28T09:00:00-05:00'}, u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/MTM3MTgzOTYzMDc1NjAwMA"', u'organizer': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'creator': {u'self': True, u'displayName': u'Logan Henson', u'email': u'logan@loganhenson.com'}, u'id': u'6ouv43oqi94ogvqam0ldh5pk48'}], u'updated': u'2013-06-22T19:58:01.388Z', u'summary': u'logan@loganhenson.com', u'etag': u'"CxZm3kc9PAmVWyOavlumf_6aLhg/8Ps07gFrFoxf7ptkCmaNe4n6omU"', u'timeZone': u'America/Chicago', u'accessRole': u'owner'}
并且我成功地提取了“营地辅导员”和“u'dateTime':u'2013-06-24T09:00:00-05:00'”但希望能够提取 dateTime 值...而不是完整的起始值。
我现在拥有的是:(根据我的需要进行了编辑)我正在尝试获取每个日历项目摘要 + 开始 + 结束,并且已经成功但需要获取特定的日期时间而不是 dict 对象。以下给出了 dateTime 的 keyerror
tot = []
val = test["items"]
for a in val:
Item = calItem(a["summary"], a["start"]["dateTime"], a["end"])
tot.append(Item)
那么有没有办法获取辅助 JSON dict 值或开始?即我可以做一些事情来达到[“开始”][我想要的键值]的效果吗?
谢谢!