[解決済み] JSONデータを文字列として返すAWS Lambda
2022-02-10 04:29:32
質問内容
AWS Lambdaを使ってAPIを作成しているのですが、配列のデータをJSON形式で返したいのです。しかし、ラムダを呼び出すと、必要なJSONデータを返すことができますが、それは二重引用符で囲まれた文字列として来るのです。Python IDEで同じコードを実行してみると、すべてうまくいきますが、ラムダでそれを返そうとすると、文字列として来るのです。
これは、Lambda が
return
文は、Pythonの関数の中にあるのでしょうか?
これは私のLambdaでデータを返す方法です。
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のリストで、ユーザーから渡された特定のユニークIDについてデータベースから取得されたデータが入力されます。
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\"}]
これが可能かどうか、どうすれば可能か教えてください。 どんなことでもご相談ください。
解決方法は?
を実行すればよいのです。
'body': json_data
. 今、私のλ関数でテストしてみました。
ラムダ関数
import json
def lambda_handler(event, context):
json_data = [{"Dp_Record_Id": 2,
"DP_TYPE": "NSDL",
"DP_ID": "40877589",
"CLIENT_ID": "1232",
"Default_flag": "Y"}]
return {'statusCode': 200,
'headers': {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": 'GET, POST, PUT, DELETE, OPTIONS'
},
'body': json_data
}
結果
Response:
{
"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"
}
]
}
関連
-
Python jiabaライブラリの使用方法について説明
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] JSONデータをファイルに書き込むにはどうしたらいいですか?
-
[解決済み】なぜPythonはこのJSONデータをパースできないのですか?[終了] PythonがこのJSONデータをパースできないのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
ピロウズ画像色処理の具体的な活用方法
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない