2017-09-07 11 views
0

を上げる私はこのエンドポイントとフラスコAPIを持っています。フラスコrequest.get_json()BadRequest

しかし、私はポストマンを使用する場合、私が取得:

<class 'werkzeug.exceptions.BadRequest'> : 400: Bad Request 

私は両方(私は/確かに、それをコピー&ペースト)と同じJSONを送信します。私は、問題がPythonでエスケープされる私のjsonの "\ t"によって引き起こされるとはかなり確信していますが、Postmanではそうではありません。

未処理のjsonを取得し、アプリでエスケープする必要があるエスケープする方法はありますか?または、JSONを取得する別の方法は?

EDIT:私の場合は問題であるget_jsonを使用することを提案しているので、これは重複として提案したものとは異なる質問です。

+0

この回答を確認してください:https://stackoverflow.com/questions/27369306/flask-jsonify-how-to-escape-characters – smundlay

+0

あなたは精緻化できますか?私の問題は、get_json()がjsonデータを取得する唯一の方法であり、エラーが発生することです – CoMartel

答えて

0

[OK]を、それが判明して、置き換えることができる:

data = request.get_json()を

で:

data = json.loads(request.data, strict=False) # strict = False allow for escaped char 

requests.dataは、文字列形式でJSONが含まれているので、あなたはその文字を処理することができますエスケープする必要があります。