2017-03-05 3 views
-1

I私のフラスコサーバに次のJSONを投稿:フラスコ - Get_JSON区切り変更

'{"on":false}' 

が、私はそれからHTTPへのJSONは、ネットワーク上の別のデバイス上にそれを置く返すために、次のコード行を使用します。

content = ("'" + str(request.get_json()) + "'").lower() 

しかし、返す代わりには期待:それは返す

'{"on":false}' 

'{'on':false}' 

JSONが無効であり、動作しないことを意味します。 request.get_json()で変更できるものがありますか、または別のメソッドがありますか?

答えて

1

あなたはここでいくつか奇妙なことをしています。

get_json()は、自動的に着信JSON文字列をPythonデータ構造に解析します。その後、strを呼び出してJSONではなく、Python構造体の表現に変換し直します。

さて、あなたでしコールの代わりstrjson.dumpsが、最初の場所でJSONからそれを変換避ける方が良いでしょう。 request.get_jsonの代わりにrequest.get_dataを使用してください。 FlaskはJSONからコンテンツを解析せず、引用符も保持されます。

+0

文字列に変換する私の理由は、それが辞書である間にアポストロフィデリミタを追加することができなかったためです。そのための回避策がわかりませんでした。 –

+0

アポストロフィデリミタを追加する必要はありません。私はあなたがなぜあなたが思うかわからない。それは文字列としてマークするだけです。二重引用符で囲むと、もう一方のJSONは有効になりません。 –

+0

申し訳ありません。私はそれがうまく動作しないと思う。ごめんなさい。 –

関連する問題