一尘不染

JSON将集合字符串化

json

如何将一个JSON.stringify()

在Chromium 43中不起作用的事情:

var s = new Set(['foo', 'bar']);

JSON.stringify(s); // -> "{}"
JSON.stringify(s.values()); // -> "{}"
JSON.stringify(s.keys()); // -> "{}"

我希望得到类似于序列化数组的东西。

JSON.stringify(["foo", "bar"]); // -> "["foo","bar"]"

阅读 252

收藏
2020-07-27

共1个答案

一尘不染

JSON.stringify 不能直接与集合一起使用,因为存储在集合中的数据不会存储为属性。

但是您可以将集合转换为数组。然后,您将能够正确地对其进行分类。

以下任何一项都可以解决问题:

JSON.stringify([...s]);
JSON.stringify([...s.keys()]);
JSON.stringify([...s.values()]);
JSON.stringify(Array.from(s));
JSON.stringify(Array.from(s.keys()));
JSON.stringify(Array.from(s.values()));
2020-07-27