首页  >  文章  >  后端开发  >  如何在不损失精度的情况下序列化 Python JSON 中的十进制对象?

如何在不损失精度的情况下序列化 Python JSON 中的十进制对象?

DDD
DDD原创
2024-11-25 05:07:15383浏览

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

Python JSON 中的 Decimal 对象序列化

由于 JSONDecoder 中缺乏对 Decimal 对象的支持,将 Decimal 对象序列化为 JSON 是一个挑战。将 Decimal 对象转换为浮点数可能会导致精度损失。

解决方案:

第三方 JSON 库 Simplejson 提供了用于序列化 Decimal 对象的本机解决方案。 simplejson 2.1 及更高版本在 dumps 函数中提供了 use_decimal 参数。默认情况下,use_decimal 为 True,允许 Decimal 对象序列化为字符串而不损失精度:

import simplejson as json

decimal_object = Decimal('3.9')
json_string = json.dumps(decimal_object)
# Output: '3.9'

以上是如何在不损失精度的情况下序列化 Python JSON 中的十进制对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn