Добавление цитат в строковые значения объектов JSON - PullRequest
0 голосов
/ 16 ноября 2018

Мои строковые данные объекта не включают кавычки вокруг значений объекта, что приводит к ошибкам при попытке JSON.parse():

'{ "affiliation": CORPORATE, "userId": 75c35d1c-5d12-4485-8fa8-b2f1551a3e6e }'

Мне нужно, чтобы строка была:

'{ "affiliation": "CORPORATE", "userId": "75c35d1c-5d12-4485-8fa8-b2f1551a3e6e" }'

Я использую это регулярное выражение для добавления кавычек к ключам объекта:

var newStr = str.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"$2": ');

Например: '{ affiliation: CORPORATE }' до '{ "affiliation": CORPORATE }'

В моих данных есть только строковые значения, поэтому мне не нужно проверять типы значений. Как я могу изменить свое выражение регулярного выражения, чтобы добавить цитаты и к значениям объекта?

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать следующее регулярное выражение:

/[ ](?=\b)|\b(?=,|[ ])/g

Оно начинает совпадать с пробелом и использует прогноз вперед Word boundary.Затем он использует чередование для Word boundary, за которым следует comma или Space.

. Используется флаг 'global' для сопоставления всех.

Затем вы заменяете совпаденияс double quote.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...