Вопрос

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

Это было полезно?

Решение

You need to build an object using indexer notation:

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

Другие советы

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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top