创建具有名称属性设置为变量内容的对象

时间:2013-12-01 13:09:08

标签: javascript

我使用以下代码段创建了一个类payload

function setPointer(parent, attribute, children) {
    var url = 'https://api.xzy.com/1/classes/' + parent;
    var pointToObjects = [];

    for (var i = 0; i < children.length; i++) {
        var pointToObject = {
            "__type":"Pointer",
            "className": childrenClass,
            "objectId":children[i]
        };
        pointToObjects.push(pointToObject);
    }

    var object = {
        attribute:{
            "__op":"AddRelation",
            "objects":pointToObjects
        }
    };
    var payload = JSON.stringify(object);
    var payload = {
        attribute:{
            "__op":"AddRelation",
            "objects":children
        }
    };

    var options = {
        'method': 'post',
        'contentType':'application/json',
        'headers': makeHeaders(),
        'payload': payload,
        'muteHttpExceptions':false
    };

    var jsonResponse = UrlFetchApp.fetch(url, options);
    Logger.log(jsonResponse.getResponseCode() + ': ' + jsonResponse);
}

如何将attribute对象的childrenpayload属性设置为参数attribute的内容(例如“句点”)和{{1} (例如“hgssgs”,“eejss”)?

我想创建一个如下所示的HTTP请求:

children

1 个答案:

答案 0 :(得分:1)

attribute放在方括号中。它将自动为对象创建一个新参数,其名称存储在该字符串变量中。

以下是一个例子:

var param = 'someParam';
var obj = {};
obj[param] = {
    val: 1
}

结果obj如下

{
    someParam: {
        val: 1
    }
}