You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Logic Apps的ParseJSON>For Each步骤中指定深层JSON节点属性

解决Azure Logic Apps中ParseJSON后访问深层JSON节点的问题

别担心,这种情况在Logic Apps里挺常见的——设计器的自动提示有时候不会主动展示嵌套的深层属性,但我们完全可以手动通过表达式来访问,甚至构造你需要的JSON结构。下面是具体的解决步骤:

1. 手动输入表达式访问深层属性

当你在For Each步骤里,设计器只给出EmployeeId这类父节点选项时,不用被它限制。点击输入框旁边的fx表达式按钮,直接输入以下表达式就能拿到DisplayValue:

items('For_Each')?['EmployeeId']?['DisplayValue']

简单解释下:

  • items('For_Each')代表当前循环迭代的单条员工数据(也就是Result数组里的单个对象)
  • 加?是安全访问符,防止某条数据里没有EmployeeId属性时流程直接报错
  • 再追加?['DisplayValue']就能精准定位到你需要的深层值

同理,获取邮箱的表达式就是:

items('For_Each')?['EmailId']?['DisplayValue']

2. 构造你需要的新JSON结构

如果你要生成包含属性和对应值的完整JSON(比如{"EmployeeId": "PW123", "EmailId": "xxx@xxx.co.uk"}),推荐用「数据操作>Compose」步骤来统一构造:

  1. 在For Each内部添加一个Compose步骤
  2. 切换到表达式模式,输入以下内容:
{
  "EmployeeId": "@items('For_Each')?['EmployeeId']?['DisplayValue']",
  "EmailId": "@items('For_Each')?['EmailId']?['DisplayValue']"
}

完成后,Compose输出的就是你需要的结构化JSON,后续直接用这个输出就能发送到第二个外部系统。

3. 可选:优化ParseJSON的Schema(提升设计器提示)

如果希望设计器能自动识别深层属性,可以重新生成ParseJSON的Schema:

  • 回到ParseJSON步骤,点击「Use sample payload to generate schema」
  • 把你实际收到的完整JSON样本粘贴进去,生成对应的Schema
  • 完成后,设计器的属性提示可能会显示EmployeeId.DisplayValue这类嵌套选项,但就算不显示,上面的手动表达式方法依然完全有效。

提醒一句:始终记得用?安全访问符,避免因为某条员工数据缺少EmployeeId或EmailId导致整个流程中断。

内容的提问来源于stack exchange,提问作者EvilDr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:46:22