Это не лишний параметр. Для хранения денежных сум, для которых недопустимы ошибки округления и переполнения, используется специальный тип
Decimal.
Всё, что вы выводите, функция
print
пытается преобразовывать в строку, а модуль json не знает, корректно ли преобразовывать неизвестный ему тип в строку и выбрасывает исключение.
Можно
определить свой энкодер, понимающий Decimal:
import json
from decimal import Decimal
class DecimalEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Decimal):
return str(obj)
return super(DecimalEncoder, self).default(obj)
json.dumps(tr_list, cls=DecimalEncoder)