Обратите внимание, что REST не всегда JSON.Вы, кажется, на самом деле спрашиваете о денежных значениях в JSON-кодировке.
Если вы используете существующий JSON API, у вас нет выбора, чтобы сделать: спецификация API скажет вам, ожидается ли полебыть строкой или числом.
Если вы разрабатываете новый API, вам нужно сделать этот выбор.
Стандарт JSON определяет, как кодироватьчисло, содержащее десятичную точку, но оно ничего не указывает на то, как должно быть представлено декодированное число.Весьма вероятно, что библиотека декодирования расшифрует ее как число с плавающей точкой.
За очень немногими исключениями плохая идея использовать плавающую точку для денег : Почемуне использовать Double или Float для представления валюты? .По этой причине мой совет - использовать строки для перевода денежных значений и явно конвертировать как на клиенте, так и на сервере.Это означает, что промежуточный код обработки JSON оставляет меньше возможностей для изменения значения.
Также обратите внимание, что номер JSON не имеет единицы измерения.Если вы кодируете денежное значение в виде строки, у вас есть возможность включить валюту в формате: «£ 123,45».Конечно, и кодер, и декодер должны знать об этом формате.