2017-02-23 89 views
1

Я новичок в Python Язык. Мне нужно получить все Сведения об управлении идентификационными данными и доступом Amazon-Web-Services (Amazon-IAM) с использованием Boto 3 и Python.Cant parse boto3 client json response using python

Я пытался разобрать JSON выхода из Boto 3 клиента, а также необходимо сохранить key-value пары в карту (policyName, Арны). Образец JSON вывода, как это:

{ 
    'ResponseMetadata': { 
     'HTTPStatusCode': 200, 
     'HTTPHeaders': { 
      'vary': 'Accept-Encoding', 
      'content-length': '19143', 
      'content-type': 'text/xml', 
      'date': 'Thu, 23 Feb 2017 06:39:25 GMT' 
     } 
    }, 
    u 'Books': [ { 
     u 'PolicyName': 'book1', 
     u 'Arn': '002dfgdfgdfgdfgvdfxgdfgdfgdfgfdg', 
     u 'CreateDate': datetime.datetime(2017, 2, 22, 13, 10, 55, tzinfo = tzutc()), 
     u 'UpdateDate': datetime.datetime(2017, 2, 22, 13, 10, 55, tzinfo = tzutc()) 
    }, { 
     u 'PolicyName': 'book2',' 
     u 'Arn': '002dfgdfgdfgdfgvdfxgdfgdfgdfgfdg', 
     u 'CreateDate': datetime.datetime(2017, 2, 22, 13, 10, 55, tzinfo = tzutc()), 
     u 'UpdateDate': datetime.datetime(2017, 2, 22, 13, 10, 55, tzinfo = tzutc()) 
    }] 
} 

Я следующий код

iampolicylist_response = iamClient.list_policies(
    Scope='Local', 
    MaxItems=150 
) 
    print iampolicylist_response 
    res=json.dumps(iampolicylist_response) 
print res 
ret={} 
for i in res["PolicyName"]: 
    ret[i["PolicyName"]]=i["Arn"] 
return ret 

Использование json.loads, он показывает ошибку, как этот

TypeError: expected string or buffer

Использование json.dumps, он показывает ошибку, как это

TypeError: datetime.datetime(2017, 2, 22, 13, 10, 55, tzinfo=tzutc()) is not JSON serializable

Актуальная проблема?

+0

Рез = json.dumps (iampolicylist_response) преобразует объект в строку JSON. – Kajal

ответ