迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 >

如何在 JavaScript 中将集合set转换为 JSON

作者:迹忆客 最近更新:2022/11/02 浏览次数:

要将集合转换为 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"]'

JavaScript 中将集合转换为 JSON

我们使用 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,则必须:

  1. 使用 JSON.parse() 方法将 JSON 字符串解析为数组。
  2. 将数组传递给 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'}

javascript 将json 转换为set

Set 构造函数将一个可迭代对象(例如数组)作为参数,因此我们可以将调用 JSON.parse 方法的结果传递给它。

本站文章均为原创或翻译,转载请发邮件至 1244347461@qq.com 进行申请,未经许可,禁止转载。经作者同意之后,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

热门文章

教程更新

热门标签

扫码一下
查看教程更方便