我在动态CRM上发布时将ODATA字符串转换为JSON时遇到问题。 当我试图以这种方式序列化时:
var phoneCallAssociationJsonData = '{'
+'"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls('+ phoneCallUid +')"'
+'}';
并在请求中将其序列化为: JSON.stringify(phoneCallAssociationJsonData);
我得到了一个不好的回应。但是,当我使用POSTMAN发布数据时,我复制了以下JSON:
{"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls(12a59ec0-76b5-e611-80ed-5065f38a8ad1)"}
完美无缺。 有人知道是否有一种特殊的方式来序列化odata格式的字符串?
我尝试创建javascript对象,但添加 对象。@ odata.id 是不可能的,因为 @ 不是允许的角色。
答案 0 :(得分:2)
首先,不是创建一个字符串,而是创建一个OBJECT
var phoneCallAssociationJsonData = {
"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls("+ phoneCallUid +")"
};
然后
JSON.stringify(phoneCallAssociationJsonData);
现在应该正常工作