由于您收到的数据是有效的 Python 数据,您可以简单地使用 [ast.literal_eval][1]
演示
import ast
data = '''{"multicast_id":6343554431392278573,"success":5,"failure":15,"canonical_ids":0,"results":[{"message_id":"0:1380910865603840%356b9054f9fd7ecd"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":
"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"message_id":"0:1380910865592683%356b9054f9fd7ecd"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"error":"NotRegistered"},{"message_id":"0:1380910865600910%356b9054f9fd7ecd"},{"error":"NotRegistered"},{"message_id":"0:1380910865596592%356b9054f9fd7ecd"},{"error":"NotRegistered"},{"message_id":"0:1380910865595499%356b9054f9fd7ecd"}]}'''
>>> pp.pprint(ast.literal_eval(data))
{ 'canonical_ids': 0,
'failure': 15,
'multicast_id': 6343554431392278573L,
'results': [ { 'message_id': '0:1380910865603840%356b9054f9fd7ecd'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'message_id': '0:1380910865592683%356b9054f9fd7ecd'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'error': 'NotRegistered'},
{ 'message_id': '0:1380910865600910%356b9054f9fd7ecd'},
{ 'error': 'NotRegistered'},
{ 'message_id': '0:1380910865596592%356b9054f9fd7ecd'},
{ 'error': 'NotRegistered'},
{ 'message_id': '0:1380910865595499%356b9054f9fd7ecd'}],
'success': 5}
>>>
其次是转储错误
>>> pp.pprint([elem['error'] for elem in ast.literal_eval(data)['results'] if 'error' in elem])
[ 'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered',
'NotRegistered']