Вам необходимо определить функцию, которая будет выполнять любое округление, которое вы хотите, а затем использовать измененную строку для построения Decimal
. Ваше текущее решение работает на отлично: оно просто делает именно то, что вам говорят, то есть использует всю строку, в отличие от того, что вы желаете (и не сказали ни код, ни нас; -).
например:.
>>> def doit(s): return decimal.Decimal(str(round(float(s), 2)))
...
>>> json.loads(x, parse_float=doit)
{u'14': [Decimal('4.59'), u'susan']}
>>>