JSON-сериализация вложенного десятичного числа в виде строки - PullRequest
0 голосов
/ 29 сентября 2019

Использование simplejson==3.16.0:

import decimal
import simplejson

print(simplejson.dumps({'foo': decimal.Decimal('0.1')}, use_decimal=True))

Приведенный выше код выводит {"foo": 0.1}, тогда как я ожидаю {"foo": "0.1"}.Есть ли способ настроить это поведение без переопределения кодировщика по умолчанию?

1 Ответ

0 голосов
/ 29 сентября 2019

Вы можете просто жестко закодировать его как строку.

import decimal
import simplejson

print(simplejson.dumps({'foo': str(decimal.Decimal('0.1'))}, use_decimal=True))

Выходы:

{"foo": "0.1"}
...