根据子属性设置json属性

时间:2017-11-19 02:33:33

标签: javascript json facebook-send-api

我正在创建这个JSON对象

 {
    "attachment": {
        "type": "template",
        "payload": {
            "template_type": "generic",
            "image_aspect_ratio": "square"
            "elements": [
                new CreateBallon(results[rand])
            ]
        }
    }
}

我想仅在image_aspect_ratio出现时才设置elements[0].someProp。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

让我们清楚JSON是什么。它是数据的文本符号。如果您对涉及Javascript代码的对象执行任何操作,请不要将其称为JSON,因此,您所谈论的对象不是JSON而是JavaScript通过对象文字表示法创建的对象。

现在回答您的查询,在完全初始化该对象之前,您无法引用this对象。所以你可以做的是用一些默认值初始化你的对象然后你应该能够根据同一个对象的属性编辑任何属性。像

这样的东西
 var obj = {"property1" : "X", "property2" : ""};

现在您可以更新您的对象,如

  obj.property2 = obj.property1 =='yourCondition' ? 'NewValue' : obj.property2