网站首页 > 知识剖析 正文
在 JavaScript 中将 JSON 转换为 Map:
- 使用 JSON.parse() 方法将 JSON 字符串解析为对象。
- 将此对象作为参数调用 Object.entries()。
- 将 Object.entries() 的结果传递给 Map() 构造函数。
例如:
const json =
'{"user1":"John","user2":"Kate","user3":"Peter"}';const map = new Map(Object.entries(JSON.parse(json)));// Map(3) { 'user1' => 'John', 'user2' => 'Kate', 'user3' => 'Peter' }
console.log(map);
我们首先将字符串转换为对象,然后再转换为数组,因为我们无法将 JSON 字符串直接解析为 Map。 Object.entries() 方法接受一个对象并返回一个键值对列表,这些键值对对应于对象每个属性的键和值:
const obj = {
user1: 'John',
user2: 'Kate',
user3: 'Peter',
};const arr = Object.entries(obj);// [ [ 'user1', 'John' ], [ 'user2', 'Kate' ], [ 'user3', 'Peter' ] ]
console.log(arr);
Map() 构造函数可以采用键值对的可迭代对象来创建 Map 元素,因此我们将 Object.entries() 的结果直接传递给它。
将地图转换为 JSON
要将 Map 转换回 JSON 字符串,请使用 Map 作为参数调用 Object.fromEntries() 方法,并将结果传递给 JSON.stringify() 方法:
const json =
'{"user1":"John","user2":"Kate","user3":"Peter"}';const map = new Map(Object.entries(JSON.parse(json)));const jsonFromMap = JSON.stringify(Object.fromEntries(map));// {"user1":"John","user2":"Kate","user3":"Peter"}
console.log(jsonFromMap);
我们首先使用 Object.fromEntries() 转换 Map,因为我们不能直接将 Map 序列化为 JSON 字符串。 Object.fromEntries() 方法将任何键值对列表转换为对象:
const map = new Map([
['user1', 'John'],
['user2', 'Kate'],
['user3', 'Peter'],
]);const obj = Object.fromEntries(map);// { user1: 'John', user2: 'Kate', user3: 'Peter' }
console.log(obj);
猜你喜欢
- 2024-11-14 vue.js正确使用百度地图的方案 vue百度地图自定义控件
- 2024-11-14 在地图上创建热力图的方法 怎么用热力图选址
- 2024-11-14 快速了解 ES6 的Map与WeakMap es6 map使用场景
- 2024-11-14 Vue3 + TS + Leafletjs 打造企业级原神大地图
- 2024-11-14 好东西一起用,Cesium.js真是让3D地图尖叫的神奇框架!
- 2024-11-14 为 Next.js 项目创建站点地图文件
- 2024-11-14 JavaScript 轻松获取 Map 中的某个 key
- 2024-11-14 何时使用 Map 来代替普通的 JS 对象
- 2024-11-14 看了几十篇论文实现了个专业算法,用threejs做了个人员定位系统
- 2024-11-14 基于MapBox源码在内网中加载离线卫星地图的方法
- 04-29php开发者composer使用看这一篇就够了
- 04-29引用和变量声明在不同语言中的实作
- 04-29PHP 没你想的那么差
- 04-29Ubuntu linux 上的 Nginx 和 Php 安装
- 04-29CentOS下通过yum搭建lnmp(单版本PHP)
- 04-29为什么 PHP8 是个高性能版本
- 04-29PHP8函数包含文件-PHP8知识详解
- 04-29使用无参数函数进行命令执行
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)