迹忆客 专注技术分享

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

JavaScript 中如何将 Map 转换为 JSON

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

要将 Map 转换为 JSON

  1. 使用 Object.fromEntries() 方法将 Map 转换为对象。
  2. 将对象传递给 JSON.stringify() 方法。
  3. 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);

JavaScript 将 Map 转换为 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,则必须:

  1. 使用 JSON.parse 方法将 JSON 字符串解析为对象。
  2. 使用 Object.entries 方法获取键值对数组。
  3. 使用键值对数组调用 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'}

JavaScript 将 JSON 转换为 Map

Object.entries 方法接受一个对象并返回一个二维数组。

// 👇️ [['name', 'Tom'], ['country', 'Chile']]
console.log(Object.entries({name: 'Tom', country: 'Chile'}));

Map() 构造函数需要一个迭代,其元素是键值对,因此我们可以直接将调用 Object.entries 方法的结果传递给它。

为了避免 Map 对象本身不支持序列化或解析这一事实,我们将 Map 转换为对象并序列化该对象。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Do you understand JavaScript closures?

发布时间:2025/02/21 浏览次数:108 分类:JavaScript

The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.

Do you know about the hidden traps in variables in JavaScript?

发布时间:2025/02/21 浏览次数:178 分类:JavaScript

Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av

How much do you know about the Prototype Chain?

发布时间:2025/02/21 浏览次数:150 分类:JavaScript

The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start

JavaScript POST

发布时间:2024/03/23 浏览次数:96 分类:JavaScript

本教程讲解如何在不使用 JavaScript 表单的情况下发送 POST 数据。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便