Azure 逻辑应用 - 无效的 JSON 参数错误



更新:问题出在文件编码上。见答案。

我有一个来自 blob 存储的 15.7 MB 的 json 有效负载。当我将输出传递给 ParseJson 操作时,我使用 json(( 转换器函数,但出现此错误:

无法在操作"Parse_JSON"中处理模板语言表达式 "1"行和"2792"列的输入:"模板语言函数 "json"参数无效。

然后,我获取了相同的 json 文件并将其剥离到 1 KB,并使用相同的逻辑应用进行了测试,它工作了。那么 json(( 有大小限制吗?

问题是流是在文本开头添加字节顺序标记 (BOM( 写入的,因此它未被识别为有效的 JSON。StreamWriter 用于使用 UTF8 编码写入流。解决方法是不在构造函数中指定编码,该构造函数默认为没有 BOM 的 UTF8 实例:

https://learn.microsoft.com/en-us/dotnet/api/system.io.streamwriter?view=netframework-4.7.2#remarks