Power Automate ParseJSON解析异常问题问询
以下是针对你遇到的字段解析错位问题(如"HBB Count"变为"Device Count"、"Sale Type"变为"Device")的具体排查点:
.NET序列化特性配置错误
检查生成JSON的.NET对象属性,确认是否正确使用了序列化特性指定字段名。比如使用System.Text.Json的[JsonPropertyName("HBB Count")]或Newtonsoft.Json的[JsonProperty("HBB Count")],如果部分属性未配置正确的特性,ConvertTo-Json会自动生成不符合预期的字段名,导致Power Automate的Schema无法精准匹配,进而出现字段错位。邮件正文提取的JSON被污染
验证提取后的原始JSON内容,排查是否存在以下问题:- 邮件客户端附加的签名、换行符、HTML标签残留,破坏了JSON的完整结构;
- 引号被替换为智能引号(“”而非标准""),导致解析时无法正确识别字段名;
- 编码异常导致字段名乱码,Power Automate解析时错误匹配到Schema中的其他字段。
Power Automate JSON Schema定义不严谨
检查Schema的配置细节:- 字段名是否存在拼写错误,或字段类型与实际JSON不匹配(比如将字符串类型定义为数字,导致解析时跳过该字段并匹配其他字段);
- 是否开启了
additionalProperties(允许额外属性),若开启,JSON中未定义的字段可能被错误映射到已存在的Schema字段; - 数组内的对象字段顺序是否与Schema一致,顺序错位可能导致解析时字段匹配错误。
.NET多态序列化干扰
如果.NET对象涉及继承或多态,ConvertTo-Json默认会输出$type等类型标识字段,这些额外字段会打乱JSON结构,导致Power Automate解析失败。可通过配置序列化选项禁用多态类型信息,比如设置JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles或关闭类型字段输出。Power Automate动作缓存问题
尝试删除原有的Parse JSON动作并重新创建,或手动从正确的示例JSON重新生成Schema,避免旧缓存的Schema导致字段匹配错误。
内容的提问来源于stack exchange,提问作者Thomton

