将变量中的字符串作为javascript对象文字中的键传递

时间:2013-11-13 22:47:20

标签: javascript jquery json

我该怎么做?

objPrefix = btn.attr('data-objprefix'); //<button data-objPrefix="foo">
var sendData =  {objPrefix : {"bar":"ccccc"}};

我想要输出

{"foo" : {"bar":"ccccc"}};

但是它是

{"objPrefix" : {"bar":"ccccc"}}

1 个答案:

答案 0 :(得分:8)

当您使用文字符号objPrefix被视为键名本身而不是变量objPrefix的值时,请尝试使用bracket notation来设置对象的属性名称变量值。所以试试这个:

var sendData = {};
sendData[objPrefix] = {"bar":"ccccc"};

你也可以使用jquery data-api来获取data-attribute的值,即

objPrefix  = btn.data('objprefix')