2017-02-23 73 views
1

我是Python語言的新功能。我需要得到所有亞馬遜網絡服務身份和訪問管理(Amazon-IAM)政策細節使用Boto 3Python不能使用python解析boto3客戶端json響應

我試圖從解析JSON輸出寶途3客戶端,並且還需要保存key-value對成圖(policyName,ARN)。樣品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

回答