如何在 JavaScript 中将集合set转换为 JSON
要将集合转换为 JSON,请将 Set 转换为数组并将结果传递给 JSON.stringify() 方法,例如 JSON.stringify(Array.from(set))。 JSON.stringify 方法将传入的值转换为 JSON 字符串并返回结果。
const set1 = new Set(['a', 'b', 'c']);
// ✅ 使用 Array.from
const json1 = JSON.stringify(Array.from(set1));
console.log(json1); // ?️ '["a", "b", "c"]'
// ✅ 使用扩展语法 (...)
const json2 = JSON.stringify([...set1]);
console.log(json2); // ?️ '["a", "b", "c"]'
我们使用 Array.from 方法将 Set 转换为数组。
该方法接受一个可迭代对象并将其转换为数组。
const set1 = new Set(['a', 'b', 'c']);
console.log(Array.from(set1)); // ?️ ['a', 'b', 'c']
我们必须将 Set 转换为数组,因为 Set 对象没有对序列化或解析的本机支持。
最后一步是使用 JSON.stringify 方法将数组转换为 JSON 字符串。
使用 Array.from 方法的替代方法是使用扩展语法 …。
const set1 = new Set(['a', 'b', 'c']);
const json2 = JSON.stringify([...set1]);
console.log(json2); // ?️ '["a", "b", "c"]'
在此示例中,我们使用扩展语法 … 将集合中的值解包到一个数组中。
这等效于使用 Array.from 方法,但是在某些情况下,展开语法 … 不能很好地与 TypeScript 配合使用。
如果需要将 JSON 字符串转换为 Set,则必须:
- 使用 JSON.parse() 方法将 JSON 字符串解析为数组。
- 将数组传递给 Set() 构造函数
const set1 = new Set(['a', 'b', 'c']);
const json1 = JSON.stringify(Array.from(set1));
console.log(json1); // ?️ '["a", "b", "c"]'
// ✅ 转换回集合 set
const parsed = new Set(JSON.parse(json1));
console.log(parsed); // ?️ {'a', 'b', 'c'}
Set 构造函数将一个可迭代对象(例如数组)作为参数,因此我们可以将调用 JSON.parse 方法的结果传递给它。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。