小编sha*_*ool的帖子

Azure 逻辑应用程序:检查 json 对象中是否存在属性

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

[
  {
    "@odata.etag": "",
    "ItemInternalId": "378fd3bc-0cd4-4171-8e7d-462461086580",
    "RowID": 1,
    "Name": "1234"
  },
  {
    "@odata.etag": "",
    "ItemInternalId": "378fd3bc-0cd4-4171-8e7d-462461086580",
    "RowID": 1
  }, ...
}
Run Code Online (Sandbox Code Playgroud)

我想迭代这些项目并将每个项目传递到另一个 HTTP 端点。

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

无法评估模板语言表达式,因为属性“名称”不存在,可用属性是...

我看到很多人使用xpath函数结合xml函数来检索值。

https://learn.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

我用以下表达式得到了这个,我真的不喜欢这个

first(xpath(xml(addProperty(json('{}'), 'obj', item())), '//obj/Name[1]/text()'))
Run Code Online (Sandbox Code Playgroud)

有没有其他简单的方法来解决我的问题。提前致谢

azure-logic-apps

5
推荐指数
1
解决办法
1万
查看次数

Select2 trigger("change") 创建一个无限循环

假设页面上有两个 select2 元素,都使用“onChange”。为了以编程方式在您使用的一个 select2 元素中设置一个值

$('#id1').val('xyz').trigger('change');
Run Code Online (Sandbox Code Playgroud)

如果您在这两个元素中的一个元素中进行选择时希望将另一个元素重置为初始值,则该值设置会触发onChange事件,并且系统进入无限循环。如果您使用,也会发生同样的情况

$('#id1').val('xyz').trigger('change.select2')
Run Code Online (Sandbox Code Playgroud)

javascript jquery select2

3
推荐指数
1
解决办法
3364
查看次数

标签 统计

azure-logic-apps ×1

javascript ×1

jquery ×1

select2 ×1