Привет всем, я хочу исправить свой json У меня есть строки без " и мне нужно как-то их вернуть Я нашел регулярное выражение, которое находит некоторые тексты, но все равно не возвращает правильный результат.
var newString2 = j.replace(/[a-zA-Z0-9@.,_+]*[^:][\w]/g, function(x){
return '"'+x+'"';
});
мой json
{
User_Story_UI_24:
{
Env:Staging,
UserName:[email protected],
Password: User@SDF45sdfg,
Supplier:Xxxxx,
SupplierWebSite:www.xxxx.com,
SupplierPhone:+111 2223334440,
SupplierAddress:sss asf21, asf asf, saf
}
}
ожидаемый результат
{
"User_Story_UI_24":
{
"Env":"Staging",
"UserName":"[email protected]",
"Password": "User@SDF45sdfg",
"Supplier":"Xxxxx",
"SupplierWebSite":"www.xxxx.com",
"SupplierPhone":"+111 2223334440",
"SupplierAddress":"sss asf21, asf asf, saf"
}
}
@mrzasa Я думаю, что значения под User_Story_UI_24 должны быть в одинарных или двойных кавычках, вот что я понял
Где вы видите этот JSON? Как он создается/отправляется? «Исправить JSON» кажется плохой идеей.
Нельзя просто найти регулярное выражение
Я не могу исправить строку его камеры из заводного конвейера на Дженкинсе в качестве параметра
если вы можете исправить этот stackoverflow.com/questions/57089855/…, это может быть полезно, но кажется, что на данный момент никто не знает



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я использовал регулярное выражение, которое обнаруживает строки в вашем регулярном выражении (при условии, что оно в том же формате, что и в вашем примере).
Затем он использует функцию, которая получает совпадающие группы в качестве своих параметров и соответственно создает две строки в кавычках.
Единственное изменение, которое я внес в ваш ввод, заключалось в добавлении запятой после последнего свойства, чтобы сохранить все строки в одном формате:
const input = `{
User_Story_UI_24:
{
Env:Staging,
UserName:[email protected],
Password: User@SDF45sdfg,
Supplier:Xxxxx,
SupplierWebSite:www.xxxx.com,
SupplierPhone:+111 2223334440,
SupplierAddress:sss asf21, asf asf, saf,
}
}`;
let ans = input.replace(/(\w+?): ?([+\w @.,]+),/g, (row, prop, value) => {
return `"${prop}": "${value}",`;
});
console.info(ans);аммм почти как насчет User_Story_UI?
Я боюсь, что его нужно изменить с помощью отдельного регулярного выражения, так как оно не соответствует тому же формату, и поэтому в замещающей функции будет отсутствовать параметр. Кстати, JSON действителен без свойств, заключенных в кавычки.
нужно стереть запятую в последнем параметре
Каков ожидаемый результат?