Я использую AWS Lambda для создания своих API и хочу вернуть данные массива в формате JSON. Тем не менее, когда я вызываю лямбду, он может вернуть необходимые данные JSON, но он приходит в виде строки в двойных кавычках. Я попытался запустить тот же код в моей Python IDE, и все работает нормально, но когда я пытаюсь вернуть его в Lambda, он выглядит как строка. Это как-то связано с тем, как Lambda обрабатывает оператор return
в Python функциях? Вот как я возвращаю данные в своей лямбде:
return {
'statusCode': 200,
'headers': {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": 'GET, POST, PUT, DELETE, OPTIONS'
},
'body': json.dumps(json_data,default = myconverter)
}
Здесь json_data
- это список python, который заполняется данными, которые извлекаются из базы данных для указанных c уникальный идентификатор, переданный пользователем, и myconverter
- кодировщик JSON, который я написал.
Вывод, который я получаю:
{
"statusCode": 200,
"headers": {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS"
},
"body": "[{\"Dp_Record_Id\": 2, \"DP_TYPE\": \"NSDL\", \"DP_ID\": \"40877589\", \"CLIENT_ID\": \"1232\", \"Default_flag\": \"Y\"}]"
}
Здесь я хочу "body"
, чтобы просто вернуть массив данных без двойных кавычек, например:
"body": [{\"Dp_Record_Id\": 2, \"DP_TYPE\": \"NSDL\", \"DP_ID\": \"40877589\", \"CLIENT_ID\": \"1232\", \"Default_flag\": \"Y\"}]
Пожалуйста, дайте мне знать, если это возможно и как это можно сделать. Любая помощь в этом будет оценена