JavaScript 中如何将 Map 转换为 JSON
要将 Map
转换为 JSON
:
-
使用
Object.fromEntries()
方法将 Map 转换为对象。 -
将对象传递给
JSON.stringify()
方法。 -
JSON.stringify()
方法将传入的值转换为 JSON 字符串。
const map = new Map([
['name', 'Tom'],
['country', 'Chile'],
]);
// ✅ 转换为JSON字符串
const json = JSON.stringify(Object.fromEntries(map));
// 👇️ '{"name": "Tom", "country": "Chile"}'
console.log(json);
我们使用 Object.fromEntries
方法将 Map 转换为对象。
const map = new Map([
['name', 'Tom'],
['country', 'Chile'],
]);
const obj = Object.fromEntries(map);
console.log(obj) // 👉️ {name: 'Tom', country: 'Chile'}
我们必须这样做,因为 Map 对象没有对序列化或解析的本机支持。
下一步是将对象传递给 JSON.stringify
方法。
JSON.stringify
方法将对象转换为 JSON 字符串并返回结果。
如果需要将 JSON 字符串转换回 Map,则必须:
-
使用
JSON.parse
方法将 JSON 字符串解析为对象。 -
使用
Object.entries
方法获取键值对数组。 -
使用键值对数组调用
Map()
构造函数。
const map = new Map([
['name', 'Tom'],
['country', 'Chile'],
]);
const json = JSON.stringify(Object.fromEntries(map));
const obj = JSON.parse(json);
const mapAgain = new Map(Object.entries(obj));
console.log(mapAgain); // 👉️ {'name' => 'Tom', 'country' => 'Chile'}
Object.entries
方法接受一个对象并返回一个二维数组。
// 👇️ [['name', 'Tom'], ['country', 'Chile']]
console.log(Object.entries({name: 'Tom', country: 'Chile'}));
Map()
构造函数需要一个迭代,其元素是键值对,因此我们可以直接将调用 Object.entries
方法的结果传递给它。
为了避免
Map
对象本身不支持序列化或解析这一事实,我们将Map
转换为对象并序列化该对象。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法