Используя данную конструкцию json получается разделить на пары ключ значение, но
Как разделить JSON на пары “ключ-значение”, если структура заранее неизвестна и содержит много вложенных элементов?
Существует ли универсальный метод для рекурсивного обхода JSON любой сложности и извлечения всех пар?
Как проверить наличие определённого ключа в JSON и получить его значение, не зная структуры данных?
Можно ли реализовать поиск ключа на всех уровнях вложенности без ручного разбора каждого поля?
То есть задача, заранее зная название поля, найти его значение в JSON произвольной структуры?
Самое напрашивающееся решение - использование регулярных выражений.
Что-то типа такого:
“somefield”:.?“(.+)”
Где группа 1 в результате и будет значение поля.
Не зная названия полей и структуру вложенности разбить на пары ключ значение. Т.е. я дастаю ключ и значение, а у этого значения вложенный массив, и т.д.
Использую регулярное выражение, но применить его в значения с вложениями не получается.
Поэтому не могу достать нужный мне элемент или применить регулярное выражение
И подскажите, в таком случае нужно сначала в любом случае разбить все на пары ключ значение и потом уже проверять регулярным выражением или все таки есть другой способ не зная структуры доставить значение регярным выражением?
Подскажите хотя бы мне направление для изучения, спасибо
Есть блоки для определения типа значения JSON.
Get JSON Value Type
Get JSON Children Types
Соответственно вы можете, получив JSON, проверить, что именно получили и запустить соответствующую функцию (предварительно созданную) для извлечения содержимого.
Если это массив JSON, то извлекать из него отдельные элементы (Extract from JSON - JSON → JSON Array) и проверять их.
Если одиночный JSON, то смотреть его состав. Там все сводится к трем вариантам. Либо это какое-то значение, тогда получаете пару Key-Value, либо это вложенный JSON или массив JSON, тогда для них повторяете предыдущий шаг.
Если не получается, то может само выражение используете неправильное? Регулярка сама по себе работает с текстовыми данными любого вида, ей же нет разницы, есть там вложения или нет, для нее это просто текст.