Power Automate中GPT-4响应JSON解析问题及优化问询
问题解决方案
一、```json标记的含义
这是Markdown语法中的代码块标识,```json用来声明后续内容为JSON格式的代码片段,作用是让编辑器或渲染工具对这段内容进行语法高亮显示。该标记本身不属于JSON数据的一部分,必须移除后才能正常解析JSON。
二、Power Automate中提取目标字段的有效方案
步骤1:清理content中的JSON内容
使用Power Automate的字符串操作函数,精准移除```json和结尾的```标记,并清理前后空白字符:
trim(first(split(last(split(outputs('调用OpenAI接口')?['body']?['choices'][0]?['message']?['content'], '```json')), '```')))
逻辑说明:
- 第一次
split按```json拆分content,取拆分后的最后一部分(即标记后的JSON内容) - 第二次
split按```拆分,取第一部分(即标记前的纯JSON字符串) trim函数去除字符串前后的换行、空格等空白字符
步骤2:将清理后的字符串转为JSON对象
使用json()函数将处理后的字符串解析为可操作的JSON对象:
json(trim(first(split(last(split(outputs('调用OpenAI接口')?['body']?['choices'][0]?['message']?['content'], '```json')), '```'))))
可将此步骤保存为“Compose”动作,命名为“解析后的JSON”。
步骤3:提取目标字段
直接从解析后的JSON对象中提取所需字段,示例表达式:
- 提取Title:
outputs('解析后的JSON')?['Title'] - 提取IssueType:
outputs('解析后的JSON')?['IssueType'] - 提取Summary:
outputs('解析后的JSON')?['Summary'] - 提取Response:
outputs('解析后的JSON')?['Response']
步骤4:异常处理(可选)
为避免因JSON格式错误导致流程失败,可使用try()函数捕获解析异常:
try(json(trim(first(split(last(split(outputs('调用OpenAI接口')?['body']?['choices'][0]?['message']?['content'], '```json')), '```')))), 'JSON解析失败')
内容的提问来源于stack exchange,提问作者Patrik
相关产品推荐
相关产品推荐

