Число JSON — последовательность символов по определённой грамматике. JavaScript Number — двоичное значение с ограниченным диапазоном точных целых. Это связанные, но не одинаковые понятия. Если formatter превращает длинный идентификатор в Number и снова сериализует, цифры могут измениться при корректном исходном JSON. JSONClear не делает такого преобразования: он проверяет токен, сохраняет его написание и меняет только структурные пробелы.
Граница safe integer — не ограничение JSON
Знакомая граница 9 007 199 254 740 991 относится к точному представлению целых в JavaScript Number, а не к грамматике JSON. Источник может законно выдать более длинный токен. У получателя всё равно могут быть ограничения диапазона или схемы, поэтому корректный синтаксис не гарантирует принятие данных. Обещание форматтера уже: он не внесёт числовое изменение при добавлении отступов или удалении пробелов. Интерпретация остаётся за целевой системой.
Написание десятичной части и степени сохраняет исходные данные
Токены `1.2300`, `1.23`, `123e-2` и `1.23E+0` могут обозначать одну величину, но это разный исходный текст. Конечные нули могут отражать масштаб источника, а регистр или знак степени помогают сравнивать журналы. JSONClear сохраняет каждое написание. Красивое форматирование добавляет пробел после двоеточия и переносы между полями, минификация удаляет допустимые пробелы вне строк. Ни одно действие не нормализует число и не объявляет записи равными.
Форматирование без потерь не проверяет схему
Сохранение токена доказывает только то, что JSONClear его не переписал. Оно не подтверждает, что API ожидает поле, принимает диапазон, считает его идентификатором или хранит без потерь. Повторяющиеся имена полей тоже остаются, поскольку строгий синтаксис JSON не требует уникальности, а потребители ведут себя по-разному. Сравните результат, проверьте счётчик повторов и сверьте данные с контрактом получателя перед заменой оригинала.