Power Automate:如何将动态对象转换为数组并导出为表格?
解决动态键JSON转CSV/表格的问题
问题场景
API返回的JSON对象以日期为键、金额为值:
{ "2024-01-10": "1", "2024-01-11": "1", "2024-01-12": "1" }
需要转换为包含Date和amount两列的CSV或表格格式,之前尝试将对象转字符串后用split拆分的方法无法成功。
正确实现步骤(以Power Automate为例)
解析JSON(如果是字符串格式)
如果你的API输出是字符串,先使用json()函数将其转换为JSON对象:json(your_string_variable)提取所有日期键
使用keys()函数获取JSON对象的所有键(即日期),生成一个数组:keys(your_json_object)此操作会得到:
["2024-01-10", "2024-01-11", "2024-01-12"]循环生成键值对对象
添加Apply to each动作,遍历上述日期键数组。在循环内部,创建包含两列数据的对象:Date字段值:items('Apply_to_each')(当前循环的日期键)amount字段值:your_json_object[items('Apply_to_each')](通过键获取对应的金额值)
生成CSV表格
循环结束后,添加Create CSV table动作:- 输入选择循环输出的对象数组
- 列类型选择「Custom」
- 分别设置列名为
Date和amount,对应属性选择循环中创建的字段
为什么之前的方法无效
直接将JSON对象转为字符串后用split拆分,会因JSON字符串的引号、逗号等格式符号干扰拆分逻辑,且如果金额值包含特殊字符(比如逗号、引号)会直接导致格式错乱。操作JSON对象本身才是可靠的方式。
内容的提问来源于stack exchange,提问作者Fixermister
相关产品推荐
相关产品推荐

