Question

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

Was it helpful?

Solution

You need to build an object using indexer notation:

var name = ...;
var obj = {};
obj[name] = something;

OTHER TIPS

You can use new with an anonymous function to do it as well:

answer = JSON.stringify(new function(){ this[name] = result; }, null, '\t');

If you want JSON.stringify() Object then try this:

var field = "my_field_name";

var obj = {};

obj[field] = value;

var myJSON = JSON.stringify(obj);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top