Reputation: 3414
I use stringify in my node restful server to provide data:
answer = JSON.stringify({activities: result}, null, '\t');
return answer
where result is a js object; i receive the correct output for this:
{
"activities": [
{
"id": 1,
"title": aaa
},
{
"id": 2,
"title": bbb
}
]
}
but now i would like to use a variable instead of a fixed string in the left part of stringify function; something like:
var name = "activities";
answer = JSON.stringify({name: result}, null, '\t');
this doesn't work, because name becomes a fixed string in the stringified object
Upvotes: 11
Views: 25315
Reputation: 726
If you want JSON.stringify() Object then try this:
var field = "my_field_name";
var obj = {};
obj[field] = value;
var myJSON = JSON.stringify(obj);
Upvotes: 6
Reputation: 141917
You can use new
with an anonymous function to do it as well:
answer = JSON.stringify(new function(){ this[name] = result; }, null, '\t');
Upvotes: 3
Reputation: 888185
You need to build an object using indexer notation:
var name = ...;
var obj = {};
obj[name] = something;
Upvotes: 15