Спасибо. Забираю в копилку.
Хотя и не сильно замороченный код, но самому такое было бы писать напряжно при необходимости...
Улыбнул коммент: " ///Когда-нибудь здесь обязательно будет валидатор JSON, использование которого быстрее, чем парсинг JSON"
Однозначно плюс!
Парсить файл лучше методом конечного автомата. На оф. Сайте json для каждого типа данных(объекта,массива,числа,строки) нарисована схема, на основе неё рисуется таблица переходов. И в зависимости какой символ на в ходе переходить в соответствующее состояние. Это более надежно.
Добавил в гл. модуль
получил
Стр=глУбратьВедущиеСкобки<<?>>(Стр);
{Глобальный модуль(17993)}: Функция не обнаружена (глУбратьВедущиеСкобки)
Стр=глУбратьВедущиеСкобки<<?>>(Стр);
{Глобальный модуль(18039)}: Функция не обнаружена (глУбратьВедущиеСкобки)
Ключ=глТокен<<?>>(Пара, 1, ":");
{Глобальный модуль(18053)}: Функция не обнаружена (глТокен)
Ключ=глУбратьВедущиеСкобки<<?>>(Ключ, """", """");
{Глобальный модуль(18060)}: Функция не обнаружена (глУбратьВедущиеСкобки)
Значение=глУбратьВедущиеСкобки<<?>>(Значение, """", """");
{Глобальный модуль(18061)}: Функция не обнаружена (глУбратьВедущиеСкобки)
RegExp.IgnoreCase = Ложь<<?>>; //Не игнорировать регистр
{Глобальный модуль(18073)}: Переменная не определена (Ложь)
RegExp.Global = Истина<<?>>; //Поиск всех вхождений шаблона
{Глобальный модуль(18074)}: Переменная не определена (Истина)
RegExp.MultiLine = Ложь<<?>>; //Многострочный режим
{Глобальный модуль(18075)}: Переменная не определена (Ложь)
Этот вариант уже - шлак. Он очень медленный был, просто писал не думая, на скорую руку. Сейчас код уже переписан, стал в три раза короче и в 100 раз быстрее: https://gist.github.com/r72cccp/9991957