我正在尝试对数组进行字符串化以实现此JSON:
Array.IndexOf
这是我的代码:
{"fields":{"TITLE":"title text",
"NAME":"name text",
"EMAIL":[{"VALUE":"email@domain.com","VALUE_TYPE":"WORK"}],
"PHONE":[{"VALUE":"555-111-222", "VALUE_TYPE":"WORK"}],
"ASSIGNED_BY_ID":"10",
"SOURCE_ID":"WEB",
"STATUS_ID":"ASSIGNED",
"COMMENTS":"comments text"}
}
除了在方括号中包装电子邮件和电话元素之外,这实现了所有功能,因此随后我发布到REST API失败了。显然,我可以手动构建JSON字符串,其中包含正确位置的所有内容,但有没有更简单的方法来实例化EMAIL和PHONE数组以自动将它们放入? 感谢
答案 0 :(得分:0)
正如你所说的那样,它是一个数组,所以这应该有效:
Lead.fields.EMAIL = [{}];
Lead.fields.EMAIL[0].VALUE = $("#eml").val();
Lead.fields.EMAIL[0].VALUE_TYPE = "WORK";
Lead.fields.PHONE = [{}];
Lead.fields.PHONE[0].VALUE = $("#phone").val();
Lead.fields.PHONE[0].VALUE_TYPE = "WORK";
答案 1 :(得分:0)
我们可以大量简化这段代码。
只需像这样声明你的结构,而不是像你那样访问每个单独的属性:
var Lead = {
fields: {
TITLE: $("#name").val()
NAME: $("#name").val(),
EMAIL: [{ VALUE: $("#eml").val(), VALUE_TYPE: "WORK" }],
PHONE: [{ VALUE: $("#phone").val(), VALUE_TYPE: "WORK" }],
ASSIGNED_BY_ID: "4",
SOURCE_ID: "WEB",
STATUS_ID: "ASSIGNED",
COMMENTS: "Finest Meetings Contact Form:" +$("#comment").val()
}
};
var DataParsed = JSON.stringify(Lead);
正如您所看到的,这看起来像 lot 就像您想要的输出一样。