ホームページ > バックエンド開発 > Python チュートリアル > Python 10 進オブジェクトを JSON に正確にエンコードするにはどうすればよいですか?

Python 10 進オブジェクトを JSON に正確にエンコードするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-03 10:23:10
オリジナル
820 人が閲覧しました

How Can I Encode Python Decimal Objects to JSON Accurately?

Python で Decimal オブジェクトを JSON にエンコードする

ユビキタスなデータ交換形式である JSON は、Python の Decimal オブジェクトを扱うときに課題に直面します。これに対処するために、Decimal('3.9') オブジェクトを、元の値を正確に {'x': 3.9} として表す JSON 文字列にシリアル化することを目指します。

SimpleJSON to the Rescue

Python の組み込み JSON エンコーダーは 10 進数を処理できませんが、実行可能な解決策は次のとおりです。 SimpleJSON、サードパーティのライブラリ。 SimpleJSON バージョン 2.1 以降では、Decimal 型がネイティブにサポートされています。 use_decmal パラメータを利用することで、シームレスなシリアル化が可能になります。

例を示します:

import simplejson as json

result = json.dumps(Decimal('3.9'), use_decimal=True)
print(result)  # Output: '3.9'
ログイン後にコピー

デフォルトでは、use_decmal は True に設定されているため、次のコマンドでも望ましい結果が生成されます。

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

SimpleJSON がこの機能を Python の標準に組み込むことが期待されていることは注目に値します。ライブラリ。

以上がPython 10 進オブジェクトを JSON に正確にエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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