en / ru

Быстрое преобразование JS в JSON

Предыстория

Некоторые настройки JS приложения лежат в отдельном файле. На страницу подключается некий options.js, в котором находится объект с параметрами. Как только файл загружен, приложение забирает эти настройки и расширяет ими базовые настройки приложения.

Вот только, в ходе естественного развития приложения, возникла необходимость отказаться от подхода с подключаемым файлом. Решили забирать настройки AJAX-ом. Значит необходимо преобразовать имеющийся JS в валидный JSON.

Что подразумевает валидный JSON? И ключ и значение объекта должны быть в двойных кавычках. Соответственно, в строках двойные кавычки должны быть экранированы.
Весьма нудная и кропотливая работа для ручного подхода :)

Код

Так как преобразуемых файлов было всего с десяток, я выбрал полумеханический подход: копируем код, подставляем в шаблон в консоль GoogleChrome, результат вставляем в новый файл. Автоматизация процесса заняла бы больше времени, чем ушло в таком режиме.

Сам код, делающий большую часть работы за нас:

copy(JSON.stringify( {}, '', 4 ));

Всё, что надо сделать - подставить вместо {} JS объект из Вашего кода. 4 - количество пробелов табуляции. Да, если передаем в JSON.stringify еще пару параметров, то на выходе получается структурированный JSON, а не бесконечная строка :) А copy() это особая команда консоли (сокращение от console.copy), копирующая результат прямо в буффер обмена!