Заменить новую строку в строке

У меня есть приложение логики, которое запускается при наличии предупреждения безопасности в Центре безопасности.

У меня есть шаг, где я отображаю подмножество входных данных в документ JSON и использую его для создания файла.

Мне нужен документ JSON, который я создаю, чтобы он был в одной строке, поэтому мне нужно убедиться, что я заменю любые переводы строки управления на входах.

Пример ввода:

{
    "headers": {
        "Content-Type": "application/json"
    },
    "body": {
        "RemediationSteps": "[\r\n  \"1. Enforce the use of strong passwords\",\r\n  \"2. Add the source IP to NSG block list for 24 hours\",\r\n  \"3. Create an allow list for RDP access in NSG\"\r\n]"
    }
}

Мое отображение (в конструкторе):

replace(triggerBody()?['RemediationSteps'], '\r\n', ' ')

Тем не менее, я все еще получаю новые строки в моем документе JSON.

0 ответов

При редактировании в режиме конструктора приложения логики добавляют обратную косую черту к исходной обратной косой черте, чтобы отменить ее. Если вы перейдете в просмотр кода, вы можете удалить его вручную.

От:

"value": "@{replace(items('...')['...'],'\\\r\\\n',' ')}"

Для того, чтобы:

"value": "@{replace(items('...')['...'],'\r\n',' ')}"

Вышеупомянутые решения не работали для меня в Microsoft Flow, поскольку веб-редактор добавляет дополнительные обратные косые черты. Варианта редактора кода нет. Что сработало, так это кодирование строки uri, а затем выполнение замены:

decodeUriComponent(replace(uriComponent(body('bodyitem')?['bodykey']),'%0A','%3Cbr%3E'))

'%0A' is the '\n' uriencoded and '%3Cbr%3E' is '<br>' uriencoded.

Сначала кодируйте, выполняйте замену, затем декодируйте. Надеюсь это поможет!

У меня была похожая проблема. Вы должны буквально использовать "ввод". Вот как это выглядит:

json(concat('{"items":',string(split(outputs('GetAttachmentContent'),'')),'}'))

Надеюсь, поможет.

У меня сработало буквально добавление новой строки в выражение:

replace(triggerBody()?['Body'], '
', '<br/>')
Другие вопросы по тегам