动态构造ACS对象

Dynamically construct an ACS object

本文关键字:对象 ACS 动态      更新时间:2024-03-12

我使用Titanium Appcelerator和Node.ACS来管理我的服务器页面。我必须使用一些API来更新对象,这些对象基本上都是JSON对象。

我想做一个函数来更新对象的一个字段,但不知道如何构造JSON配置。

这是我的代码:

function (id, field, value) {
    ACS.Objects.update({
        classname: MyObject,
        id: id,
        fields: {
            HERE_MUST_GO_THE_FIELD_NAME: value
        }
    }, function(data) {
        if (data.success) {
            console.log('Done');
        } else {
            console.log('Error');
        }
    });
}

我知道我可以用创建一个普通的属性

var foo = {};
var bar = 'baz';
foo[bar] = '123';

但在这种情况下,我不能制作类似的东西:

    ACS.Objects.update({
        classname: MyObject,
        id: id,
        fields[field]: value
    }, function(data) {

因为它抛出了一个错误。那么,有办法做到这一点吗?

注:显然,制造商:

        fields: {
            field: value
        }

不起作用,因为按字面意思工作。

好吧,我几乎是愚蠢的(几乎是,因为我自己实现了解决方案)。

这是与standart相同的模式,但更深入:

                var config = {
                    classname: MyObject,
                    id: id,
                    fields: {}
                };
                config.fields[field] = value;
                ACS.Objects.update(config, function(data) {

我把它留给其他像我这样的新手。