我在Teamup日历中使用自动化。我必须填写JSON调用中的所有字段,但是有一个字段会产生问题(" custom.telefono")。 ID的字段格式不兼容?这两个词之间的点是否会发生?我无法更改ID属性,我该如何解决?
jQuery.ajax({
url: "https://api.teamup.com/" + CALENDAR_KEY + "/events",
type: 'post',
headers: {
"Teamup-Token": API_KEY,
"Content-Type": "application/json"
},
data: JSON.stringify({
"title": title,
"subcalendar_id": subcalendar_id,
"start_dt": start_dt,
"end_dt": end_dt,
"rrule": rrule,
"all_day": all_day,
"who": who,
"location": location,
"custom.telefono": custom_telefono, // <- not filling
"notes": notes
})
});
}, false );
答案 0 :(得分:0)
JSON字段名称绝对可以包含点/句点。对象键是JSON中的字符串,字符串在规范中定义如下(参见http://json.org):
字符串是零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义。
正如您在JSFiddle上看到here一样,它可以正常工作:
var json = JSON.stringify({'custom.telefono': '+1-408-555-1234'});
document.body.innerHTML = json;
您确定不是因为该字段的价值而导致您遇到问题吗?您看到的实际错误是什么?
编辑查看API docs for TeamUp,看起来自定义字段应该是一个独特的JSON对象,所以你应该发送:
{
'title': title,
'custom': {'telefono': custom_telefono}
}
答案 1 :(得分:0)
您可以在POST方法中嵌套对象:
"custom": {
"telefono": custom_telefono
}
嵌套对象的复杂性也没有限制。大多数API都希望有一定程度的嵌套。