我正在尝试使用Dynamics 365 Web API创建记录。尝试设置的字段是一个多选选项,应该采用整数数组。传入的值是一个整数数组(第二张屏幕截图),但出现以下错误:
从JSON读取器读取时,发现意外的'StartArray'节点。应该是“ PrimitiveValue”节点。
下面是正在使用的代码,用于识别引起问题的行。
var data = {
"title": "sample title",
"new_f1": f1_value,
"new_meetingdate": meeting_date,
"new_trainingmodules": training_modules, // Error on this line
"new_annualnoticedate": annual_notices,
}
Xrm.WebApi.createRecord("incident", data).then(
function success(result) {
alert("Case record created.");
},
function (error) {
alert("error.message);
// handle error conditions
}
);
答案 0 :(得分:2)
您无需将多选选项集属性作为有效载荷中的数组发送,只需将其作为逗号分隔的字符串值发送即可。
var training_modules = "100000001, 100000002";
.
.
.
"new_trainingmodules": training_modules,
设置多项选择列表值
使用Web API,您可以通过传递包含逗号分隔数字值的字符串来设置值,如以下示例所示:请求
POST [organization uri]/api/data/v9.0/contacts HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 { "@odata.type": "Microsoft.Dynamics.CRM.contact", "firstname": "Wayne", "lastname": "Yarborough", "sample_outdooractivities": "1, 9" }