【发布时间】:2018-01-04 20:48:54
【问题描述】:
我有一个 http.post 请求,它发送一个对象作为参数,预期的格式是这样的:
var searchQuery;
var subj;
var body;
var startDate;
var endDate;
{
"search": {
"scope": [2,3,32],
"type": "basic",
"text": {
"value": searchQuery, //string variable coming from UI
"fields": [
subj, body //string variable coming from UI
]
},
"date": {
"type": "range",
"from": startDate, //string variable coming from UI
"to": endDate //string variable coming from UI
}
问题是一些值是可选的,这意味着如果我不提供 searchQuery 作为字符串,那么整个键值应该被忽略,例如“value”:如果我没有提供 searchqery 不应该包含在 json 对象中该变量的值。如果我不提供值,那么 startDate 和 endDate 也是如此,那么应该从 json 中忽略日期。 那么如何在来自 UI 的对象中动态包含或排除密钥对值,以及如何在发送到 post 请求之前构建该对象?
会是这样的吗?
var search = {};
search.text = { value: "", fields: [] };
{value: "", fields: Array(0)}
seach.text.value = "wes";
search.text.value = "wes";
search.text.fields.push("subject");
search.text.fields.push("body");
【问题讨论】:
标签: arrays json angular rest api