Azure Logic应用:检查属性是否存在于json对象中

问题描述

我有一个来自“ SQLServer GetRecords(V2)”操作的JSON,如下所示。不幸的是,响应将不包含具有空值的字段。在我的示例中,某些商品的“名称”字段为空。

MyStruct

我想遍历这些项目并将每个项目传递给另一个HTTP端点。

当我使用 item()['Name'] item()?['Name'] 访问名称字段时,第二项将失败说

无法评估模板语言表达式,因为属性'Name'不存在,可用属性为...

我看到很多人使用xpath函数和xml函数结合来获取值。

https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference

但是当我使用 xpath(xml(item()),'/ Name')之类的想法时,它将抛出一个错误提示

模板语言功能“ xml”参数无效。提供的值无法转换为XML:“ JSON根对象的属性'@ odata.etag'将被转换为属性。根对象不能具有任何属性属性。考虑指定DeserializeRootElementName。路径'['@ odata.etag']'。'。有关用法的详细信息,请参见https://aka.ms/logicexpressions#xml

更新1

我使用以下表达式进行处理,我真的不喜欢这样

[
  {
    "@odata.etag": "","ItemInternalId": "378fd3bc-0cd4-4171-8e7d-462461086580","RowID": 1,"Name": "1234"
  },{
    "@odata.etag": "","RowID": 1
  },...
}

还有其他简单的方法可以解决我的问题。预先感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)