在JSON.stringify中使用变量

时间:2014-02-11 17:20:12

标签: javascript json node.js stringify

我在节点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成为字符串化对象中的固定字符串

3 个答案:

答案 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);