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

Power Automate中如何按JSON嵌套字段orderHint排序?

Power Automate按JSON嵌套字段排序的解决方法

Power Automate的sort函数默认只支持直接指定顶层字段名,没法直接用value/orderHint这种嵌套路径,所以会触发你遇到的报错。下面给两种可行的解决办法:

方法一:用Lambda表达式直接排序(推荐,适合新版本)

直接通过item()访问嵌套字段,把排序逻辑写在sort的第二个参数里,表达式如下:

sort(variables('varArrayChecked'), (item) => item()?['value']?['orderHint'])
  • 用item()?['value']?['orderHint']是安全访问嵌套字段的写法,?作为可选链操作符,能避免某个对象缺失value或orderHint字段时抛出错误
  • 这个方法一步到位,不需要额外添加操作步骤

方法二:先把嵌套字段提升到顶层再排序(兼容旧版本)

如果你的Power Automate环境不支持Lambda表达式,可以通过两步操作实现:

  1. 添加「Select」操作,输入目标数组variables('varArrayChecked');映射时保留所有原有字段,同时新增一个顶层字段orderHint,值设为item()?['value']?['orderHint']
  2. 对Select输出的数组执行排序:sort(body('Select'), 'orderHint')
  3. (可选)如果需要还原成原JSON结构,再添加一个Select操作,去掉顶层的orderHint字段,保留原有的id、value、lastModifiedDateTime字段

示例验证

用你提供的JSON数组测试时,方法一的表达式执行后,会按value.orderHint的字符串顺序排序——第一个元素的orderHint是8585298133570680672PF,第二个是8585498133570680672DE,排序后顺序保持不变(因为前者字符串更小)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:10:25