У меня есть текст в одну строку в формате JSON:
{"schemaText":{"fields":[{"name":"AX_SND_TYPE","type":"string"},{"name":"BWORK","type":"int"}],"name":"XXXSchema","type":"record"},"description":"Autogenerated by NiFi"}
Как видно, есть свойство, называемое "schemaText", которое содержит объект, я хочу преобразовать его в строку, поэтому единственное, что мне нужно сделать, это добавить кавычки в начале и конце свойства и избежать кавычек внутри.
Используя регулярное выражение, приведенное ниже (не то, чтобы мои знания регулярных выражений были действительно низкими), я могу сделать первый шаг:
({"schemaText":)(\{"fields":\[.*)(,"description.*)
Использование подстановки
$1"$2"$3
дает результат:
{"schemaText":"{"fields":[{"name":"AX_SND_TYPE","type":"string"},{"name":"BWORK","type":"int"}],"name":"XXXSchema","type":"record"}","description":"Autogenerated by NiFi"}
Но все еще остается избежать кавычек, чтобы получить это:
{"schemaText":"{\"fields\":[{\"name\":\"AX_SND_TYPE\",\"type\":\"string\"},{\"name\":\"BWORK\",\"type\":\"int\"}],"name":"XXXSchema","type":"record"}","description":"Autogenerated by NiFi"}
Это допустимый формат JSON.
Вопрос: есть ли способ избежать кавычек внутри группы захвата $ 2 в том же регулярном выражении?
Заранее спасибо.