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

如何在Power Automate中将动态JSON表单结果转为纯文本工单描述?

解决Microsoft Forms动态分支结果转纯文本工单的简便方法

针对你遇到的动态JSON解析问题,在Power Automate里可以用以下步骤快速实现:

  1. 先解析表单结果
    从Compose的输出里取出description数组的第一个对象,用表达式:

    first(outputs('Compose')?['description'])
    

    把这个结果存到一个新的Compose组件(命名为ParsedFormData)里,后续操作都基于这个组件的输出。

  2. 拼接固定字段内容
    直接用字符串拼接生成question1、question2、choice的固定行,换行用decodeUriComponent('%0A')来实现:

    concat(
        'question 1: ', outputs('ParsedFormData')?['question1'], decodeUriComponent('%0A'),
        'question 2: ', outputs('ParsedFormData')?['question2'], decodeUriComponent('%0A'),
        'choice : ', outputs('ParsedFormData')?['choice'], decodeUriComponent('%0A')
    )
    
  3. 处理动态的question3/4/5
    因为只有对应choice被选中时,JSON里才会有对应的question字段,用contains函数判断字段是否存在,存在就拼接对应的行:

    concat(
        if(contains(outputs('ParsedFormData'), 'question3'), concat('question 3: ', outputs('ParsedFormData')?['question3'], decodeUriComponent('%0A')), ''),
        if(contains(outputs('ParsedFormData'), 'question4'), concat('question 4: ', outputs('ParsedFormData')?['question4'], decodeUriComponent('%0A')), ''),
        if(contains(outputs('ParsedFormData'), 'question5'), concat('question 5: ', outputs('ParsedFormData')?['question5'], decodeUriComponent('%0A')), '')
    )
    
  4. 合并最终文本
    把上面两部分的拼接结果用concat合并,就能得到符合要求的工单纯文本格式。

完整表达式示例

把所有逻辑整合到一个表达式里,直接用在生成工单描述的步骤中:

concat(
    'question 1: ', outputs('ParsedFormData')?['question1'], decodeUriComponent('%0A'),
    'question 2: ', outputs('ParsedFormData')?['question2'], decodeUriComponent('%0A'),
    'choice : ', outputs('ParsedFormData')?['choice'], decodeUriComponent('%0A'),
    if(contains(outputs('ParsedFormData'), 'question3'), concat('question 3: ', outputs('ParsedFormData')?['question3'], decodeUriComponent('%0A')), ''),
    if(contains(outputs('ParsedFormData'), 'question4'), concat('question 4: ', outputs('ParsedFormData')?['question4'], decodeUriComponent('%0A')), ''),
    if(contains(outputs('ParsedFormData'), 'question5'), concat('question 5: ', outputs('ParsedFormData')?['question5'], decodeUriComponent('%0A')), '')
)

这种方法不需要复杂的循环或高级操作,完全用Power Automate内置的表达式就能处理动态字段的问题,适配你的表单分支逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 03:07:34