2016-10-26 5 views
1

Я пытаюсь сериализовать десятичное значение с помощью строкового ключа, но до сих пор мне удалось сделать успешную 1 десятичную цифру (например, «16 .1»). Я попробовал оба JSon и simplejson библиотеки, подклассов кодировщик, и т.д. ....Сериализация десятичной дроби с помощью simplejson

Это работает:

jsonContent = json.dumps({"value": Decimal('15.4')}) 

Это не:

jsonContent = json.dumps({"value": Decimal('15.43')}) 

Следующие шаги в моем коде является закодируйте переменную jsonContent, даже если я думаю, что это необязательно, поскольку она возвращает ту же строку и отправляет ее через последовательную шину. Я не могу понять, почему с одной десятичной цифрой это работает, а не с большим количеством ... Я также пробовал с round() и float, который заканчивается тем же результатом. Благодарю вас заранее.

+0

Странно, [_neither_ тех работ для меня] (http://ideone.com/aoDFdl); оба дают 'TypeError: [...] не JSON serializable'. Вы делали что-то особенное перед сериализацией 15.4? – Kevin

+0

На самом деле я забыл упомянуть, что я менял точность с 28 до 4, но это не относится ко мне. Это не терпит неудачу с помощью библиотеки simplejson. – Dim17300

+0

Я не смог воспроизвести эту проблему в Python 3.5 или Python 2.7 - использование simplejson всегда работает, поэтому я не уверен, в чем проблема. – sytech

ответ

0

Simplejson работал, просто мой следующий по команде, которая не принимающей достаточно ввода данных ... Извините, ребята и спасибо

Смежные вопросы