Об этом инструменте
Инструмент JS-объект в строгий JSON чинит вольный литерал объекта JavaScript или в стиле JSON5 в строгий валидный JSON. Он построен на рукописном токенизаторе — он никогда не использует eval или new Function — поэтому безопасен при строгой Content Security Policy и безопасен для вставки недоверенного текста. Всё работает в вашем браузере.
Он принимает то, что настоящий JSON отвергает: некавыченные ключи-идентификаторы, строки в одинарных кавычках, висячие запятые перед ] или }, // строчные и /* блочные */ комментарии, шестнадцатеричные (0xFF), восьмеричные и двоичные литералы, числа с ведущим плюсом и ведущей точкой (+1, .5), а также значения undefined, NaN и Infinity. Ключи заново заключаются в двойные кавычки, строки корректно перекавычиваются, комментарии и висячие запятые удаляются, а числа нормализуются в обычные числа JSON. Вы выбираете, как трактовать undefined (преобразовать в null или удалить ключ) и нефинитные числа (преобразовать в null или вызвать ошибку), затем значение заново сериализуется через JSON.stringify с выбранным вами отступом — 2 пробела, 4 пробела, табуляции или минифицировано.
Когда ввод не удаётся разобрать, инструмент сообщает о первой синтаксической ошибке с её строкой и столбцом, чтобы вы быстро нашли проблему. Это дополняет строгий форматтер JSON, который просто отвергает вольный ввод — здесь цель в том, чтобы спасти скопированный вывод консоли, фрагменты конфигов и отредактированные вручную объекты в JSON, который примет любой парсер.