我正在创建这个JSON对象
{
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"image_aspect_ratio": "square"
"elements": [
new CreateBallon(results[rand])
]
}
}
}
我想仅在image_aspect_ratio
出现时才设置elements[0].someProp
。
我怎么能这样做?
答案 0 :(得分:1)
让我们清楚JSON
是什么。它是数据的文本符号。如果您对涉及Javascript
代码的对象执行任何操作,请不要将其称为JSON
,因此,您所谈论的对象不是JSON
而是JavaScript
通过对象文字表示法创建的对象。
现在回答您的查询,在完全初始化该对象之前,您无法引用this
对象。所以你可以做的是用一些默认值初始化你的对象然后你应该能够根据同一个对象的属性编辑任何属性。像
var obj = {"property1" : "X", "property2" : ""};
现在您可以更新您的对象,如
obj.property2 = obj.property1 =='yourCondition' ? 'NewValue' : obj.property2