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 サイトの他の関連記事を参照してください。