для u64, u128 и т.к. Равно как и для +inf, nan и прочего. Нет его в формате. Ты хочешь начать сериализовывать строкой внезапно. Опустим момент, что это ломает другую фичу serde-json, untagged unions и поэтому не может быть такого решения везде. Поэтому ты на уровне того, что конвертит в json определяешь, как упаковать эти невалидные значения: проигнорировать, положить строкой или ещё что-то. Если это штучный вариант, то ты пишешь _with и радуешься жизни. Если это данные, которые ты не контроллируешь, то ты пишешь СВОЙ формат, который может базироваться на Json, да, но это новый формат. Потому что на стороне js тебе придётся писать для него новый парсер. Что здесь непонятного?
В спеке JSON есть представление для чисел, и в его описание подходит вообще число любым количеством знаков afaik. Так что u64 представим в валидном жсон, другое дело что в жс числа только f64
Обсуждают сегодня