javascript 把嵌套的 map 转成 object,再转 json 字符串
使用 JSON.stringify 转 map 时发现并没有转成想要的 JSON 数据,搜索发现要转成 Object 才能够转成完整的 JSON,
用递归转换:
const message = new Map();
massage.set("oneMap", new Map());
message.set("twoMap", new Map());
const convertNestedMapToObject = (map) => {
if (map instanceof Map) {
map.forEach((v, k) => {
if (v instanceof Map) {
map.set(k, convertNestedMapToObject(v));
}
});
}
return Object.fromEntries(map);
} // 输出 JSON
const messageJson = JSON.stringify(convertNestedMapToObject(message));
javascript 把嵌套的 map 转成 object,再转 json 字符串的更多相关文章
- JavaScript:将key和value不带双引号的JSON字符串转换成JSON对象的方法
遇到相关的问题,花了两天的时间来解决,深感来之不易,所以做如下的总结,希望遇到此问题的码农能更快的找到解决办法! var jsonArr= [{col:TO_CHAR(HZRQ,'YYYYMM'),t ...
- 【转换】Bean、List、Map、Array、String与JSON字符串的相互转换
import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; i ...
- JS 的map和array集合组合返回JSON字符串
使用map 和array 返回自定义对象的JSON字符串: function getObjectJSON() { var array = new Array(); for (var i = 0; i ...
- Jackson实现Object对象与Json字符串的互转
在项目开发过程中,当客户端与服务器响应时,数据交互是必不可少的.然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制.下面我将利用实例总结如何使用 ...
- ajax返回数据时,如何将javascript值(通常为对象或数组)转为json字符串
ajax获取值时,返回的数据为空时 alert后出现 [ ]; 用if语句判断时不为空,此时如何判断返回的数据是否为空.可将返回的值转化为json字符串. JSON.stringify() 方法用于将 ...
- linux下bom头导致的php调用php接口 返回的json字符串 无法转成 数组,即json字符串无法解码的问题
今天很是郁闷,写了一个php接口,返回的是标准的json字符串,但是调用的php 就是无法json_decode(),返回错误码为4,最后终于找到原因,原来是蒙一个文件中有bom头,最后采用一个命令 ...
- ES6 Map vs ES5 Object
ES6 Map vs ES5 Object Map vs Object https://developer.mozilla.org/en-US/docs/Web/JavaScript/Referenc ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...
- json字符串转Map、json数组
json数组转map public static void main(String[] args){ String strArr = "[{\"0\":\"zh ...
- JSON字符串如何转化成对象?
解析 1.定义:是指将符合 JSON 语法规则的字符串转换成对象的过程. 2.不同的编程语言都提供了解析 JSON 字符串的方法,在这里主要讲解 JavaScript 中的解析方法.主要有三种: 1) ...
随机推荐
- ASP.NET Core分布式项目实战(课程介绍,MVP,瀑布与敏捷)--学习笔记
任务1:课程介绍 课程目标: 1.进一步理解 ASP.NET Core 授权认证框架.MVC 管道 2.掌握 Oauth2,结合 Identity Sercer4 实现 OAuth2 和 OpenID ...
- C#开源免费的Windows右键菜单管理工具
前言 今天分享一个C#开源.免费.纯粹的Windows右键菜单管理工具:ContextMenuManager. 工具主要功能 程序支持国际化多语言显示. 启用或禁用文件.文件夹.新建.发送到.打开方式 ...
- CF505C Mr. Kitayuta, the Treasure Hunter
题目链接 题目 见链接. 题解 知识点:线性dp. 常规的状态 \(dp[i][j]\) 表示为到第 \(i\) 个岛上一步走了 \(j\) 能得到宝藏的最大值,会炸空间.注意到步数是就算从 \(1\ ...
- 【Unity3D】异步Socket通讯
1 前言 同步 Socket 通讯 中的 Accept.Connect.Receive 等方法会阻塞当前线程,当前线程必须等待这些方法执行完,才会继续往下执行,用户需要另开线程执行这些耗时方法,否 ...
- Java设计模式-备忘录模式Memento
介绍 备忘录模式(Memento Pattern)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 可以这里理解备忘录模式:现实生 ...
- Oracle 12c中增强的PL/SQL功能
英文链接:http://www.oracle.com/technetwork/issue-archive/2013/13-sep/o53plsql-1999801.html Oracle 12c增强了 ...
- 在Android开发中如何使用OpenSL ES库播放解码后的pcm音频文件?
一.认识OpenSL ES OpenSL ES的全称是Open Sound Library For Embedded Systems,即应用于嵌入式系统的开源音频库.Android从2.3版本起就开始 ...
- virtualapp 应用启动源码分析
应用启动源码分析 在HomeActvity中的OnCreate方法会调用initLaunchpad private void initLaunchpad() { mLauncherView.setHa ...
- 【LeetCode贪心#06】加油站(股票买卖变种)
加油站 力扣题目链接(opens new window) 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 ...
- Jenkins+maven+svn+tomcat持续集成环境
前言 团队最近要把项目发布的工作拿过来,所以需要一个持续集成发布系统 直接上步骤. 下载 http://mirrors.jenkins-ci.org/war/latest/ 直接下载war包,我下载的 ...