Python で Decimal オブジェクトを JSON にシリアル化する
Decimal オブジェクトを JSON 文字列にエンコードしようとすると、JSONDecoder が拒否するという問題が発生する可能性があります10 進数のオブジェクト。さらに、事前に Decimal オブジェクトを float に変換すると、精度が失われる可能性があります。
Simplejson を使用したソリューション
Simplejson バージョン 2.1 以降では、Decimal 型のネイティブ サポートが提供されます。デフォルトでは、Decimal オブジェクトは use_decimal パラメータが True に設定された文字列としてシリアル化されます。この機能を利用するには:
import simplejson as json json_string = json.dumps(Decimal('3.9')) # Output: '3.9'
標準ライブラリへの組み込み予定
この機能は将来 Python 標準ライブラリに組み込まれる予定であり、より多くの機能を提供します。 Decimal オブジェクトを JSON にシリアル化するための堅牢なソリューション。
以上が精度を落とさずに Python で 10 進オブジェクトを JSON にシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。