在 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中文网其他相关文章!