首頁 >後端開發 >Python教學 >如何將Python十進位物件準確編碼為JSON?

如何將Python十進位物件準確編碼為JSON?

Barbara Streisand
Barbara Streisand原創
2024-12-03 10:23:10870瀏覽

How Can I Encode Python Decimal Objects to JSON Accurately?

在Python 中將Decimal 物件編碼為JSON

JSON 是一種普遍存在的資料交換格式,在處理Python 的Decimal 物件時遇到了挑戰。為了解決這個問題,我們尋求將 Decimal('3.9') 物件序列化為 JSON 字串,該字串準確地將原始值表示為 {'x': 3.9}。

SimpleJSON 來救援

雖然 Python 的內建 JSON 編碼器無法處理小數,但第三方 SimpleJSON 出現了一個可行的解決方案 圖書館。 SimpleJSON 2.1 及更高版本擁有對 Decimal 類型的原生支援。透過利用 use_decimal 參數,我們可以實現無縫序列化。

這是一個範例:

import simplejson as json

result = json.dumps(Decimal('3.9'), use_decimal=True)
print(result)  # Output: '3.9'

預設情況下,use_decimal 設定為True,因此以下指令也會產生所需的結果:

result = json.dumps(Decimal('3.9'))
print(result)  # Output: '3.9'

值得注意的是,SimpleJSON 有望將此功能合併到Python 的標準中圖書館。

以上是如何將Python十進位物件準確編碼為JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn