Power Automate中拆分JSON嵌套dates字段的日期与数值求助
拆分JSON中以日期为键的嵌套字段
假设你的API返回JSON结构类似这样:
{ "id": 123, "dates": { "2024-05-01": 120, "2024-05-02": 90, "2024-05-03": 150 } }
下面是不同场景下的拆分方法:
Python 实现
直接遍历dates字典的键值对即可:
import json # 解析API返回的JSON字符串 api_json = '''{"id":123,"dates":{"2024-05-01":120,"2024-05-02":90,"2024-05-03":150}}''' data = json.loads(api_json) # 拆分日期与时长 for date, duration in data['dates'].items(): print(f"日期: {date}, 时长: {duration}")
JavaScript 实现
用Object.entries()把对象转为键值对数组:
const apiData = { id: 123, dates: {"2024-05-01":120,"2024-05-02":90,"2024-05-03":150} }; // 拆分并遍历 Object.entries(apiData.dates).forEach(([date, duration]) => { console.log(`日期: ${date}, 时长: ${duration}`); });
命令行工具(jq)实现
用to_entries函数将对象转为键值对数组:
# 假设JSON数据在data.json文件中 jq '.dates | to_entries[]' data.json
输出结果:
{"key":"2024-05-01","value":120} {"key":"2024-05-02","value":90} {"key":"2024-05-03","value":150}
JMESPath 实现(对应你提到的item()['dates']场景)
如果是在支持JMESPath的工具(如Postman、AWS CLI)中,使用to_entries()转换后提取:
- 拆分所有键值对:
item.dates | to_entries[] - 单独提取日期列表:
item.dates | to_entries[].key - 单独提取时长列表:
item.dates | to_entries[].value
内容的提问来源于stack exchange,提问作者Fixermister
相关产品推荐
相关产品推荐

