精度を落とさずに Python JSON で 10 進数のオブジェクトをシリアル化するにはどうすればよいですか?

DDD
リリース: 2024-11-25 05:07:15
オリジナル
383 人が閲覧しました

How Can I Serialize Decimal Objects in Python JSON Without Losing Precision?

Python JSON での Decimal オブジェクトのシリアル化

JSONDecoder で Decimal オブジェクトがサポートされていないため、Decimal オブジェクトを JSON にシリアル化すると課題が発生します。 Decimal オブジェクトを float に変換すると、精度が失われる可能性があります。

解決策:

サードパーティの JSON ライブラリである Simplejson は、Decimal オブジェクトをシリアル化するためのネイティブ ソリューションを提供します。 simplejson のバージョン 2.1 以降では、ダンプ関数に use_decmal パラメーターが提供されます。デフォルトでは、use_decimal は True で、精度を失うことなく Decimal オブジェクトを文字列としてシリアル化できます:

import simplejson as json

decimal_object = Decimal('3.9')
json_string = json.dumps(decimal_object)
# Output: '3.9'
ログイン後にコピー

以上が精度を落とさずに Python JSON で 10 進数のオブジェクトをシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート