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

ASP.NET Core调用带参数ADF Pipeline时JSON解析错误求助

解决ASP.NET Core调用Azure Data Factory带参数管道的JSON解析错误

问题现象

调用带参数的ADF管道时返回如下错误:

{"'v' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0."}
无参数调用可正常执行,但传递参数时触发该JSON解析错误。

错误根源

代码中使用BinaryData.FromString("value1")传递参数值,生成的是纯文本字符串,而ADF要求参数值必须是合法的JSON格式。按照JSON规范,字符串必须用双引号包裹,直接传递value1会被ADF当作JSON解析,开头的v不符合JSON语法规则,导致解析失败。

修复方案

方案1:使用BinaryData.FromJson自动生成合法JSON

这是最简洁规范的方式,FromJson方法会自动将值序列化为符合要求的JSON格式:

var parameters = new Dictionary<string, BinaryData>
{
    { "test", BinaryData.FromJson("value1") },
    { "test2", BinaryData.FromJson("value2") }
};

方案2:手动构造JSON格式字符串

如果需要手动控制,给字符串添加双引号,确保是合法的JSON字符串:

var parameters = new Dictionary<string, BinaryData>
{
    { "test", BinaryData.FromString("\"value1\"") },
    { "test2", BinaryData.FromString("\"value2\"") }
};

方案3:处理复杂类型参数

如果参数是复杂对象,直接序列化整个对象即可:

var testParam = new { Key = "value1", Description = "测试参数" };
var parameters = new Dictionary<string, BinaryData>
{
    { "test", BinaryData.FromJson(testParam) }
};

额外验证点

  • 确认代码中的参数名称与ADF管道定义的参数名称完全匹配(ADF参数名区分大小写)。
  • 确保传递的参数值类型与ADF管道中定义的参数类型一致(比如字符串类型参数不要传递未加引号的数字或布尔值)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:33:30