Регулярное выражение для выбора элементов в квадратных скобках вместе с вложенными квадратными скобками 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) будет ошибка.

→ Ссылка