我在节点restful server中使用stringify来提供数据:
answer = JSON.stringify({activities: result}, null, '\t');
return answer
其中result是一个js对象; 我收到了正确的输出:
{
"activities": [
{
"id": 1,
"title": aaa
},
{
"id": 2,
"title": bbb
}
]
}
但是现在我想在stringify函数的左边部分使用变量而不是固定字符串;类似的东西:
var name = "activities";
answer = JSON.stringify({name: result}, null, '\t');
这不起作用,因为name成为字符串化对象中的固定字符串
答案 0 :(得分:15)
您需要使用索引符号来构建对象:
var name = ...;
var obj = {};
obj[name] = something;
答案 1 :(得分:4)
您可以使用new
匿名函数来执行此操作:
answer = JSON.stringify(new function(){ this[name] = result; }, null, '\t');
答案 2 :(得分:0)
如果你想要JSON.stringify()对象,那么试试这个:
var field = "my_field_name";
var obj = {};
obj[field] = value;
var myJSON = JSON.stringify(obj);