首页 > 解决方案 > 替换字符串中的新行

问题描述

当安全中心出现安全警报时,我有一个逻辑应用程序被触发。

我有一个步骤,我将输入的子集映射到 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 文档中仍然有新的行。

标签: azureazure-logic-appssecuritycenter

解决方案


在设计视图中进行编辑时,逻辑应用会在原始反斜杠上添加一个反斜杠以将其取消。如果您转到代码视图,您可以手动删除它。

从:

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

到:

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

推荐阅读