javascript - 使用 ODATA 格式的 javascript 发布数据

标签 javascript json serialization odata

在我的 Dynamics CRM 上发帖时,我在将 ODATA 字符串转换为 JSON 时遇到问题。 当我尝试以这种方式序列化时:

var phoneCallAssociationJsonData = '{'
               +'"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls('+ phoneCallUid +')"'
               +'}';

然后像这样在请求中序列化它:JSON.stringify(phoneCallAssociationJsonData);

我收到 BAD REQUEST 响应。但是当我使用 POSTMAN 发布数据并复制以下 JSON 时:

{"@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls(12a59ec0-76b5-e611-80ed-5065f38a8ad1)"}

它工作得很好。 有人知道是否有一种特殊的方式来序列化 odata 格式的字符串?

我尝试创建一个 javascript 对象,但是添加一个 object.@odata.id 是不可能的,因为 @ 不是允许的字符。

最佳答案

首先,不是创建一个字符串,然后将其字符串化,而是创建一个 OBJECT

var phoneCallAssociationJsonData = {
    "@odata.id" : "https://contoso.crm4.dynamics.com/api/data/v8.1/phonecalls("+ phoneCallUid +")"
};

然后

JSON.stringify(phoneCallAssociationJsonData);

现在应该可以工作了

关于javascript - 使用 ODATA 格式的 javascript 发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40860799/

相关文章:

java - @Consumes注解抛出异常,如何处理

javascript - 如何从 JSON 字符串中使用 AngularJS 显示 HTML

JavaScript 正则表达式匹配可变电子邮件域

c++ - 使用 libJson 创建结构数组

php - 为什么反序列化嵌套在 Wordpress 核心中的另一个反序列化函数中?

iphone - 在 Objective-c/iPhone 中使自定义类可序列化?

javascript - 过滤除函数之外的所有内容

javascript - 如何获取具有元视口(viewport)大小的移动设备的实际视口(viewport)?

python - 在 python 中使用 ASCII 颜色漂亮地打印 JSON

javascript - 在 React 中创建一个保存数据的表单