Как ограничить длину значения поля JSON в текстовом редакторе?

Необходимо массово отредактировать некие выгруженные с сайта данные и загрузить их обратно. При этом, некоторые поля на сайте имеют неявное ограничение длины: можно присвоить им сколь угодно длинные значения, но учитываться при работе алгоритмов сайта будут только первые 600 символов. Никаких сообщений об ошибке сайт не возвращает, узнать о проблеме можно только постфактум, доступа к коду сайта у меня нет и не будет. Как в текстовом редакторе ограничить длину значения конкретного поля JSON, - а не строки или всех строк - 600 символами или иной длиной, по необходимости?


Ответы (1 шт):

Автор решения: Risto

Можно поискать или написать такой плагин под свой текстовый редактор, но это долго, непродуктивно и ненужно. Достаточно просто проверить, что ни одно значение поля с указанным именем - например, entry - не превышает указанной длины (в нашем примере - 600 символов). Для этого подойдёт любой текстовый редактор с поддержкой поиска регулярных выражений.

Для Notepad++: открываем окно поиска (Ctrl+F) и вводим - для данных из нашего примера:

"entry": ".{601,}"

Единственное регулярное выражение здесь - .{601,}, указывающее, что мы ищем все строки, которые содержат в указанном месте 601 или более символов. Вся остальная часть ищется как написана. Так как мы работаем с конкретными однострочными полями, то единственный флаг, который нам нужен, это g - искать все вхождения указанной подстроки, но в большинстве редакторов его заменяет нажатие кнопки "Найти все". Таким образом, полный код данного регулярного выражения выглядит так:

/"entry": ".{601,}"/g

Проверить его можно здесь.

Если данное выражение найдёт в вашем JSON файле хоть одну строку - значит значение этого поля вышло за лимит в 600 символов и его надо сократить.

→ Ссылка