我的 API 请求添加特定内容,以添加以下格式的内容:
{
"name": "good night",
"actions": "[{ \"deviceId\": \"c39181d52abe5555\", \"actionName\": \"turnOff\", \"params\": [], \"meta\": \"{}\" }, { \"deviceId\": \"f597c13717008fb1\", \"actionName\": \"armStay\", \"params\": [\"1234\"], \"meta\": \"{}\" }]",
"meta": "{}"
}
所以我做了以下事情:
static postRoutine(nombre, action) {
return $.ajax({
url: api.routines.url,
method: "POST",
dataType: "json",
timeout: api.timeout,
data: {'name': nombre, 'actions': action, 'meta': "{}"},
})
}
我不知道如何构建“行动”?我的意思是它应该是一个内部有字符串的数组还是什么?
我正在这样做,但它不起作用:
var actions = [];
var action1 = "{ \\\"deviceId\\\": "; "\\\"" + item1.id + "\\\", \\\"actionName\\\": \\\"" + action + "\\\", \\\"params\\\": [], \\\"meta\\\": \\\"{}\\\" }";
actions[0] = action1;
api.routines.postRoutine(rut_name, actions).done(function(data){
...//blah blah blah
});
基本上,我将一个字符串放入操作的第一个位置并将操作传递给方法。
更新:这就是有效的
var actions = [{"deviceId": item1.id, "actionName": action, "params": [], "meta": "{}"];
最佳答案
尝试JSON.stringify()
var arrActions = [{deviceId: 'c39181d52abe5555'}];
var strActions = JSON.stringify(arrActions);
console.log(strActions, typeof strActions);
关于javascript - API : How to pass an array?的POST方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50322580/