Power Automate中遍历JSON结构为文档添加计数字段的方法
在Power Automate中为JSON数组对象添加递增计数字段的解决方案
操作步骤:
初始化变量
- 创建
OriginalArray变量(类型:数组),赋值为原始JSON数组:[ {"title": "doc1.pdf", "URL": "someURL"}, {"title": "doc1.pdf", "URL": "someURL"}, {"title": "doc2.doc", "URL": "someURL"}, {"title": "doc1.pdf", "URL": "someURL"}, {"title": "doc2.doc", "URL": "someURL"} ] - 创建
TitleCounters变量(类型:对象),初始值设为{},用于记录每个文档标题的当前计数 - 创建
ResultArray变量(类型:数组),初始值设为[],用于存储最终处理后的结果数组
- 创建
遍历原始数组
添加「应用到每一个」操作,选择OriginalArray作为遍历对象更新标题计数器
在循环内添加「设置变量」操作,目标变量选TitleCounters,值填写以下表达式:setProperty(variables('TitleCounters'), items('Apply_to_each')?['title'], coalesce(variables('TitleCounters')?[items('Apply_to_each')?['title']], 0) + 1)该表达式会检查当前标题的已有计数:若不存在则从0开始递增,存在则直接加1,同时更新计数器对象
构造新对象并追加到结果数组
- 添加「创建对象」操作,设置三个字段:
title:items('Apply_to_each')?['title']URL:items('Apply_to_each')?['URL']count:variables('TitleCounters')?[items('Apply_to_each')?['title']]
- 添加「追加到数组变量」操作,选择
ResultArray作为目标数组,值选刚创建的对象
- 添加「创建对象」操作,设置三个字段:
最终效果
处理完成后,ResultArray的结构即为所需格式:
[ {"title": "doc1.pdf", "URL": "someURL", "count": 1}, {"title": "doc1.pdf", "URL": "someURL", "count": 2}, {"title": "doc2.doc", "URL": "someURL", "count": 1}, {"title": "doc1.pdf", "URL": "someURL", "count": 3}, {"title": "doc2.doc", "URL": "someURL", "count": 2} ]
内容的提问来源于stack exchange,提问作者esteebie
相关产品推荐
相关产品推荐

