带方括号的JSON.stringify

时间:2015-01-30 16:39:45

标签: javascript json stringify

我有一个JS对象:

var source = {};
source.quantity = 1;
source.text = 'test';

现在我JSON它:

var json = JSON.stringify(source);

json看起来像这样:

{"quantity":"1","text":"test"}

我希望它是这样的:

[{"quantity":"1"},{"text":"test"}]

我可以这样做吗?

3 个答案:

答案 0 :(得分:3)

将所有keys作为数组获取map对象作为键值source

JSON.stringify(
    Object.keys(source)
          .map(
              function (e) {
                  var o = {};
                  o[e] = source[e];
                  return o;
              }
          )
); // "[{"quantity":1},{"text":"test"}]"

答案 1 :(得分:1)

var json = JSON.stringify([
    {quantity: "1"},
    {text: "test"}
]);

答案 2 :(得分:1)

我想这是不可能的,但你可以这样做:

var source = {};
source.quantity = 1;
source.text = 'test';

var result = [];

for(var i in source) {
    var obj = {};
    obj[i] = source[i];
    result.push(obj);
}

var json = JSON.stringify(result);

我希望这可以帮到你。