jsonにある必要があるAPIに投稿データを送信しようとしています。要求ヘッダーにContent-type: application-json
がない場合、要求は失敗し、私はHTTPError: 415 Client Error: Unsupported Media Type for url
を返します。Decimal to Jsonをリクエストライブラリで処理する
ただし、inbuilt jsonパーサーを使用すると、このヘッダーに要求が追加されるようです。ドキュメントは以下を示唆しているように見えるにもかかわらず同等である:
>>> r = requests.post(url, data=json.dumps(payload))
>>> r = requests.post(url, json=payload)
私は(Content-Typeヘッダを追加するか、または手動で)JSONパーサーに建て使用する必要があることを意味します。作り付けのリクエストパーサを使用して
私のポストデータは、いくつかの小数のフィールドを持っているしかしが(APIからジャンゴDecimalFieldはに保存するjson.loads(response.text, parse_float=decimal.Decimal)
を経由して変換された)エラーを与える:
TypeError: Decimal('1560.35') is not JSON serialisable
私ができる方法はありますリクエスト(例えば、小数点以下を扱うsimplejson)で別のjsonパーサーを使用し、content-typeを依然として指定してください。
"ドキュメントが示唆しているようです":どこですか? –
文字列として保存できませんか? – Kavli