Javascript CRM OData/REST调用(JSON)的数据类型问题
我正在尝试使用javascript克隆CRM中的记录。我遵循与本文类似的代码---- 如果记录中有“boolean”类型的字段,则会出现以下错误。有人能建议如何解析/修改数据以消除此错误吗 属性值类型不正确System.Data.Services.Serializers.JsonReader+JsonObjectRecords 调试代码时,布尔属性的值为true或false,我按原样传递它(无格式) 我尝试过用value.toString()或甚至新的布尔值(value)替换布尔值,但没有成功Javascript CRM OData/REST调用(JSON)的数据类型问题,javascript,json,dynamics-crm-2011,Javascript,Json,Dynamics Crm 2011,我正在尝试使用javascript克隆CRM中的记录。我遵循与本文类似的代码---- 如果记录中有“boolean”类型的字段,则会出现以下错误。有人能建议如何解析/修改数据以消除此错误吗 属性值类型不正确System.Data.Services.Serializers.JsonReader+JsonObjectRecords 调试代码时,布尔属性的值为true或false,我按原样传递它(无格式) 我尝试过用value.toString()或甚至新的布尔值(value)替换布尔值,但没有成功
日志: 编辑 我在使用中的日期格式化函数时也遇到了同样的问题。日期值如下所示: “okn_startdate”:{}
\u日期恢复器:函数(键、值){
///
///用于将匹配字符串值转换为日期对象的专用函数。
///
///
///用于标识对象属性的键
///
///
///表示日期的字符串值
///
var a;
如果(值的类型=='string'){
a=/Date\([-+]?\d+)/.exec(值);
如果(a){
返回新日期(parseInt(value.replace(“/Date(“,”).replace(“)/”,”),10));
}
}
返回值;
},
请提供发送到服务器的JSON。我现在在帖子中添加了一个图像。如果有机会,请看一看。您只需在第一个“成功”部分中编写“console.log(JSON.stringify(cloneData,replacer))”。也许你也发布了你的源代码。谢谢,发布了console.log结果的一些内容。源代码与我上面提到的文章几乎相同。你还想让我把它贴出来吗?你的JSON看起来还不错。代码中的错误是从哪里来的?在ajax调用的第二个“error:function”中?如果没有布尔属性,JSON看起来如何?
{
"__metadata":{
"uri":"http:///POC /XRMServices/2011/OrganizationData.svc/okn_dealSet(guid'b0ede4ab-15c9-e311-94e1-00155d000854')",
"type":"Microsoft.Crm.Sdk.Data.Services.okn_deal"
},
"okn_name":"Go boolean",
"new_allowemail":true,
"TimeZoneRuleVersionNumber":0,
"OwningBusinessUnit":{
"__metadata":{
"type":"Microsoft.Crm.Sdk.Data.Services.EntityReference"
},
"Id":"b229bd07-d2be-e311-b028-00155d000854",
"LogicalName":"businessunit",
"Name":null
},
"UTCConversionTimeZoneCode":null,
"OwningUser":{
"__metadata":{
"type":"Microsoft.Crm.Sdk.Data.Services.EntityReference"
},
"Id":"f8d8b780-a4a2-e311-b51b-00155d000854",
"LogicalName":"systemuser",
"Name":null
},
"OwningTeam":{
"__metadata":{
"type":"Microsoft.Crm.Sdk.Data.Services.EntityReference"
},
"Id":null,
"LogicalName":null,
"Name":null
},
"okn_type":{
"__metadata":{
"type":"Microsoft.Crm.Sdk.Data.Services.OptionSetValue"
},
"Value":200000001
}
}
_dateReviver: function (key, value) {
///<summary>
/// Private function to convert matching string values to Date objects.
///</summary>
///<param name="key" type="String">
/// The key used to identify the object property
///</param>
///<param name="value" type="String">
/// The string value representing a date
///</param>
var a;
if (typeof value === 'string') {
a = /Date\(([-+]?\d+)\)/.exec(value);
if (a) {
return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
}
}
return value;
},