[解決済み] FlaskでPOSTされたJSONを取得する方法とは?
質問
Flaskを使って簡単なAPIを作ろうとしているのですが、その中でPOSTされたJSONを読みたいと考えています。私はPostman ChromeエクステンションでPOSTを行い、私がPOSTしたJSONは単純なものです。
{"text":"lalala"}
. 以下の方法でJSONを読み込もうとしています。
@app.route('/api/add_message/<uuid>', methods=['GET', 'POST'])
def add_message(uuid):
content = request.json
print content
return uuid
ブラウザ上では、私がGETで入力したUUIDが正しく返されますが、コンソール上では、次のように出力されるだけです。
None
(を出力すると思っていたところ
{"text":"lalala"}
. どなたか、Flaskのメソッド内から投稿されたJSONを取得する方法をご存知でしょうか?
どのように解決するのですか?
まず最初に
.json
属性は
request.get_json()
メソッド
と表示されるのは、そのためです。
None
ここで
リクエストコンテンツタイプを
application/json
には
.json
プロパティと
.get_json()
メソッド (引数なし) を使用すると、どちらかのメソッドで
None
でなければ を参照してください。
フラスコ
Request
ドキュメント
:
mimetypeがJSONを示す場合、パースされたJSONデータが格納されます( アプリケーション/json を参照してください。
is_json()
になります)、それ以外の場合はNone
.
を伝えることができます。
request.get_json()
を渡すことで、コンテンツタイプの要件をスキップすることができます。
force=True
キーワード引数で指定します。
ただし 例外 がこの時点で発生した場合 (400 Bad Request レスポンスが発生する可能性があります)、JSON の データ は無効です。JSONバリデーターでチェックするとよいでしょう。
関連
-
Python百行で韓服サークルの画像クロールを実現する
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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関数の高度な応用を解説
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない