名称不能包含以下任何符号:'[,],。'。'。适用于Azure Logic应用程序中的撰写

问题描述 投票:0回答:1

我有下面的JSON,需要在逻辑应用程序中进行更新

{
  "name": "SampleDoc",
  "type": "123",
  "properties": {
    "GP.Test": "M1",
    "MG.Test": "C1"
  }
}

enter image description here

我已使用以下setProperty语法:-

@setProperty(variables('ResponseBody'),'properties', setProperty(variables('ResponseBody')['properties'], 'test','abc'),
setProperty(variables('ResponseBody')['properties'], 'GP.Test','M2'))

我想要的JSON输出应为

{
  "name": "SampleDoc",
  "type": "123",
  "properties": {
    "GP.Test": "M2",
    "MG.Test": "C1"
  }
}

但是当我运行它时,出现此错误:-

InvalidTemplate。在行'1'和列'2617'的操作'Compose'输入中,无法处理模板语言表达式:'提供的属性名称'GP.Test'具有这些无效字符'。'。该名称不能包含以下任何符号:'[,],。'。'。

有人可以建议我们是否可以处理'。'内部撰写或任何其他方式来实现这一目标?

json azure azure-resource-manager azure-logic-apps
1个回答
1
投票

是的,这是逻辑应用程序中发生的正确行为。原因是您使用了set属性函数来设置GP.Test属性的值。在逻辑应用程序中使用表达式时,“。”运算符是保留的运算符,将用于访问表达式,函数等的子属性等。因此会出现错误。解决方案实际上很简单,您可以直接使用compose动作,而无需使用set属性。下面的示例屏幕截图。enter image description here

或者,如果您想要复杂的转换,那么通过集成帐户使用液体转换是可行的方法

© www.soinside.com 2019 - 2024. All rights reserved.