Регулярное выражение для выбора элементов в квадратных скобках вместе с вложенными квадратными скобками JS
Пытаюсь сделать функцию, которая делает всё тоже самое что и JSON.parse()
У меня есть строка -->
'"name":"Ivan","age":50,"job":["a",["b","c"],"d"],"color":{"green":"green","purple":"purple","border":[1,2,3,4],"arr":[5,5,5,5]}';
На выходе пытаюсь достать из этой строки -> "job":["a",["b","c"],"d"]
Перепробовал много вариантов регулярных выражений, но результат всегда возвращается такой:
->"job":["a",["b","c"]
Подскажите, пожалуйста - как можно было бы решить данный вопрос или лучше поискать другие варианты решения, без использования регулярок? Пишу на JS.
Ответы (1 шт):
Я понял вашу проблему. Вы хотите преобразовать строчное выражение в JSON, при этом сделать это через регулярные выражения. Это не совсем правильно, так как в JavaScript есть собственный метод JSON.parse(string).
В вашем случае это можно было бы сделать так:
const string = '{' + '"name":"Ivan","age":50,"job":["a",["b","c"],"d"],"color":{"green":"green","purple":"purple","border":[1,2,3,4],"arr":[5,5,5,5]}' + '}';
const json = JSON.parse(string);
console.log(json.job);
В string обязательно ваш JSON подобный текст нужно обернуть в фигурные скобки, так как формат JSON будет непонятен и при JSON.parse(string) будет ошибка.