JSON.stringify 带方括号

JSON.stringify with square brackets

我有一个 JS 对象:

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

现在我JSON它:

var json = JSON.stringify(source);

json 看起来像这样:

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

我希望它是这样的:

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

我可以这样做吗?

将所有 keys as an Array them map 作为 source[=13 中的 key-valueObjects =]

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

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

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

希望对您有所帮助